mysql选择表中的列,其中其他两列在引用的表中相等
我有四张桌子A、B、C和Dmysql选择表中的列,其中其他两列在引用的表中相等,mysql,sql,Mysql,Sql,我有四张桌子A、B、C和D Table A: value1, city Table B: value2, city Table C: value3, city Table D: value1, value2, value3 我需要从表D中选择value2,其中value1和value3在表D中的同一行中,并且在表A和表C的行中都有相同的城市 所以,如果表A有一行 13, Chicago 14, Milwaukee 15, St. Louis 表C中有行 78, Chicago 89, St.
Table A: value1, city
Table B: value2, city
Table C: value3, city
Table D: value1, value2, value3
我需要从表D中选择value2,其中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
您正在寻找的操作是加入。@M Khalid Junaid感谢您将我转到该站点。在本学期剩下的时间里,这将是一个非常好的资源。你的回答也是绝对正确的。你正在寻找的操作是加入。@M Khalid Junaid感谢你让我进入该网站。在本学期剩下的时间里,这将是一个非常好的资源。你的回答也是绝对正确的。@B谢谢!我没有意识到这是个问题,否则我会投更多的票给你。有几个能让你继续前进。祝你好运我今天要还钱!谢谢@B谢谢!我没意识到这是问题,否则我会投更多的票给你。有几个能让你继续前进。祝你好运我今天要还钱!谢谢
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
SELECT TableD.value2
FROM TableD
JOIN TableC ON TableC.value3=TableD.value3
JOIN TableA ON TableA.value1=TableD.value1 AND TableA.city = TableC.city