1

我在 TEMP_DATA 表中有以下数据

在此处输入图像描述

从这些记录中,我只想得到那些具有 CAT_NO 36 和 39 组合记录的记录,理想情况下我的预期结果如下

在此处输入图像描述

我怎样才能做到这一点?

4

2 回答 2

3

我没有要测试的 Oracle8 实例,但这应该可以:

select * from temp_data where prod_no in ( 
    select prod_no from temp_data where cat_no = 39 and prod_no in (
       select prod_no from temp_data where cat_no = 36 ) ) ;
于 2016-03-28T07:26:20.213 回答
1

你为什么不尝试相交。

 SELECT prod_type,
       prod_no,
       cat_no,
       prod_cat,
       text,
       prod_seq
  FROM temp_data
 WHERE prod_no IN (SELECT prod_no
                     FROM temp_data
                    WHERE cat_no = 36
                   INTERSECT
                   SELECT prod_no
                     FROM temp_data
                    WHERE cat_no = 39)
于 2016-03-28T07:54:42.537 回答