不合并删除记录
Eliminate Records Without Combination
我在TEMP_DATAtable
中有以下数据
从这些记录中,我只想获取那些具有 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)
我在TEMP_DATAtable
中有以下数据从这些记录中,我只想获取那些具有 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)