我在 TEMP_DATA 表中有以下数据
从这些记录中,我只想得到那些具有 CAT_NO 36 和 39 组合记录的记录,理想情况下我的预期结果如下
我怎样才能做到这一点?
我没有要测试的 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 ) ) ;
你为什么不尝试相交。
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)