gpt4 book ai didi

sql - 要么在 select sql 中的 not both 子句中

转载 作者:行者123 更新时间:2023-12-04 23:50:34 26 4
gpt4 key购买 nike

查找位于 BOSTON 或 DALLAS 的所有部门的名称,而不是在这两个城市。

我有这样的代码

SELECT D.DNAME 
FROM DEPARTMENT D
INNER JOIN DEPTLOC L ON L.DNAME = D.DNAME
WHERE L.CITY='BOSTON'
OR L.CITY='DALLAS' ;

但这将显示位于 BOSTON 或 DALLAS 的部门。但我只想要其中之一,我应该放什么才能得到结果。

例子:
在我的 DEPTLOC 表中
     //DEPTLOC
DNAME CITY
----------------
ACCOUNTING BOSTON
ACCOUNTING DALLAS
SALES DALLAS
TRANSPORT BOSTON
TRANSPORT DALLAS

所以在我的部门
我应该得到像
      DNAME
----------
SALES

最佳答案

将它们分组,然后计算每个部门的总数,然后过滤所有只有一个位置的部门。

SELECT D.DNAME 
FROM DEPARTMENT D
INNER JOIN DEPTLOC L ON L.DNAME = D.DNAME
WHERE L.CITY='BOSTON'
OR L.CITY='DALLAS'
GROUP BY
D.DNAME
HAVING COUNT(1) = 1

关于sql - 要么在 select sql 中的 not both 子句中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23261385/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com