传递内连接中第二个表的所有值

时间:2013-10-21 15:50:07

标签: mysql sql-server

我在一个表上有多个内部联接,我想从where子句中的第二个表列传递所有值。

e.g。

select * from Table A 
inner join Table B on A.id = B.id 
inner join Table C on A.id = C.id  
Where C.somevalue = (all values from this column)

如何在where子句中实现此行为。

3 个答案:

答案 0 :(得分:2)

您可以将IN子句与WHERE结合使用来制作如下内容:

WHERE C.somevalue IN (SELECT col FROM table)

答案 1 :(得分:1)

使用IN

select * 
from Table A 
inner join Table B on A.id = B.id 
inner join Table C on A.id = C.id  
Where C.somevalue IN (SELECT your_column FROM your_table)

答案 2 :(得分:0)

如果列来自表B,您可以将条件保留在join子句

select * 
from Table A 
inner join Table B on A.id = B.id 
inner join Table C on A.id = C.id  
                  and C.somevalue = B.column_you_prefer