我有一张像这样的表DEPTLOC:
//DEPTLOC
DNAME CITY
------------------------
RESEARCH BOSTON
IT LONDON
SCIENCE BOSTON
SEARCHING NEWYORK
我使用了以下查询:
SELECT CITY FROM DNAME WHERE DNAME='RESEARCH'
INTERSECT
SELECT CITY FROM DNAME WHERE DNAME='SCIENCE'
所以这会返回如下结果:
CITY
---------
BOSTON
但是我该如何更改代码以便如果找到任何结果,它将显示NO,否则它将显示YES
输出应该是这样的:
RESULT
---------
YES
或
RESULT
---------
NO
答案 0 :(得分:2)
您可以使用COUNT()
和DECODE/CASE
SELECT DECODE(COUNT(1),0,'NO','YES') AS RESULT FROM
(
SELECT CITY FROM DNAME WHERE DNAME='RESEARCH'
INTERSECT
SELECT CITY FROM DNAME WHERE DNAME='SCIENCE'
)
答案 1 :(得分:1)
您想要做的是计算结果。
SELECT
CASE WHEN COUNT(*) = 0 THEN 'Yes' ELSE 'No' END
FROM
(
SELECT CITY FROM DNAME WHERE DNAME='RESEARCH'
INTERSECT
SELECT CITY FROM DNAME WHERE DNAME='SCIENCE'
);
当然还有其他方法可以达到相同的效果。这个演示了如何使用INTERSECT查询来完成它。