我已经简化了这个例子,但希望这个例子提供了足够的实质内容。
如果我有一张如下表......
ITEM GROUP
---- -----
A 1
B 1
C 1
D 2
E 2
F 3
G 4
...我提供了项目A,B,D和F,我想构建一个查询,该查询将返回这些详细信息以及相关组C和E中的其他项目。
似乎我应该可以做某种内部联接,但我不清楚它是如何完成的。如果由于环境的限制在单个查询中完成,那将是最好的。
非常感谢!
答案 0 :(得分:5)
如果我理解正确,这可行。
SELECT item,
group_num
FROM table_name
WHERE grroup_num IN (SELECT group_num
FROM table_name
WHERE item IN ('A', 'B', 'D', 'F'))
您也可以将其写为EXISTS
SELECT item,
group_num
FROM table_name a
WHERE EXISTS( SELECT 1
FROM table_name b
WHERE a.group_num = b.group_num
AND b.item IN ('A','B','D','F') )