我试图返回特定ID的所有行,其中与这些ID关联的任何行中都满足条件。请原谅我是SQL的新手...以下示例:
ID *行*#*
12 * 1 * A *
除了我的选择和条件=(X,Y或Z)以外,不确定代码是什么才能返回:
ID *行*#*
12 * 1 * A * <-不包含X,Y或Z,但属于ID的一部分,
我想拉所有的行记录,尽管它们不满足条件,只要它们是具有满足条件的行的ID的一部分。
谢谢您的帮助!
*编辑:包括尝试的代码*
SELECT ID
,LINE
,#
WHERE ID,
IN (
SELECT ID
WHERE # IN ('X','Y','Z'))
结果:
ID LINE #
12 3 X
12 4 Y
我需要的:
ID LINE #
12 1 A
12 2 B
12 3 X
12 4 Y
我几乎觉得我需要使用IN('X','Y','Z')的条件创建ID和LINE的临时表,然后对所有LINE(而非X,Y, Z. 我认为这可能有效,但是我还没有学会如何使用临时表。我有点麻烦,因为我使用的是查询,在这里我已经简化了很多,在这里我选择了18个字段,这些字段连接到其他7个表中。我认为这只是使我对子查询的理解更加复杂,而不仅仅是子查询受此影响。
到目前为止,感谢所有人的帮助和答复!
您可以IN
为此使用子查询。
Select *
From YourTable
where ID in (select ID from YourTable where # in ('X','Y','Z'))
请注意,12 * 4 * C *
您的数据中没有任何内容,但我认为这只是结果中的O型,应该12 * 4 * Y *
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句