2

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

例如

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子句中实现这种行为。

4

3 回答 3

2

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

WHERE C.somevalue IN (SELECT col FROM table)

于 2013-10-21T15:51:14.160 回答
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)
于 2013-10-21T15:52:19.400 回答
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
于 2013-10-21T15:57:56.740 回答