繁体   English   中英

Oracle查询自联接?

[英]Oracle query self-join?

我已经简化了该示例,但希望该示例提供了足够的内容以使其有意义。

如果我有如下表格...

ITEM GROUP
---- ----- 
 A     1
 B     1
 C     1
 D     2
 E     2
 F     3
 G     4

...并且提供了项目A,B,D和F,我想构造一个查询,该查询将返回这些详细信息以及相关组C和E中的其他项目。

看来我应该能够进行某种内部联接,但不清楚如何实现。 由于环境的限制,最好在单个查询中完成此操作。

非常感谢!

如果我对您的理解正确,那么这将起作用。

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') )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM