【问题标题】:mysql select column in table where two other columns are equal in the referenced tablesmysql选择表中的列,其中引用表中的其他两列相等
【发布时间】:2014-03-31 19:57:13
【问题描述】:

我有四个表 A、B、C 和 D。

Table A: value1, city
Table B: value2, city
Table C: value3, city
Table D: value1, value2, value3

我需要选择 value2(我从表 D 中猜测),其中 value1 和 value3 在表 D 的同一行中,并且在表 A 和 C 上的行中都有相同的“城市”。

所以,如果表 A 有一行

13, Chicago
14, Milwaukee
15, St. Louis

表 C 有行

78, Chicago
89, St. Paul
94, St. Louis

表 D 有行

13, One, 89
13, Two, 78
14, Three, 78
15, Four, 94

那我需要打印出来:

Two
Four

【问题讨论】:

  • 您要查找的操作是“JOIN”。
  • @M Khalid Junaid 感谢您让我访问该网站。在本学期剩下的时间里,这将是一个非常好的资源。而且你的回答也绝对正确。

标签: mysql sql


【解决方案1】:
select
  value2
from
  tablea a
  inner join tablec c on a.value1= c.value1
  inner join tableb b on c.value3= b.value3
where
  b.city = a.city

【讨论】:

  • @BWONG 谢谢!我没有意识到这是问题所在,否则我会以你的方式投更多票。有一些可以让你继续前进。祝你好运!
  • 我今天要还款!谢谢!
【解决方案2】:
SELECT TableD.value2 
FROM TableD 
JOIN TableC ON TableC.value3=TableD.value3 
JOIN TableA ON TableA.value1=TableD.value1 AND TableA.city = TableC.city

【讨论】:

    猜你喜欢
    • 2017-03-08
    • 2012-06-13
    • 1970-01-01
    • 2015-10-17
    • 2011-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    相关资源
    最近更新 更多