SELECT子句有两个条件

时间:2014-04-24 17:01:41

标签: sql oracle

查找以下哪个部门:IT,RESEARCH在DEPTLOC表的CITY列中包含所有城市的位置

有一个deptloc表

//DEPTLOC
CITY           DNAME
---------------------------
NEW YORK       ACCOUNTING
SAN FRA           IT
BOSTON         OPERATIONS
BOSTON         RESEARCH
DALLAS         RESEARCH
LOS ANGELES    RESEARCH

部门表

DNAME
----------
ACCOUNTING
IT
OPERATIONS
RESEARCH

&#34>是什么意思?在DEPTLOC表格的CITY栏中包含所有城市的位置"

2 个答案:

答案 0 :(得分:2)

这是一种方式:

SELECT A.DNAME
FROM (SELECT  DNAME, 
              COUNT(DISTINCT CITY) CITIES
      FROM DEPTLOC
      GROUP BY DNAME) A
CROSS JOIN (SELECT COUNT(DISTINCT CITY) CITIES
            FROM DEPTLOC) B
WHERE A.CITIES = B.CITIES
带有演示的

Here is a sqlfiddle

答案 1 :(得分:-3)

我认为您的查询是:

SELECT * FROM DEPTLOC
WHERE DNAME IN('IT','RESEARCH')
GROUP BY (CITY,DNAME);