微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQL:如何仅选择不包含某个值的组?

我有一张桌子:
Restaurant locations: 

RESTAURANT_NO | RESTAURANT_LOCATION
-----------------------------------
1             |            City A
1             |            City B
2             |            City A
2             |            City B
2             |            City C
3             |            City C
4             |            City A
4             |            City B

我如何能够将他们组合在一起,也只能选择
没有C城市地点的RESTAURANT_NO?

使用这个例子,我想返回:

RESTAURANT_NO
 -------------
 1
 4

由于RESTAURANT_NO 2和3都在城市C中有位置.

我不知道如何将RESTAURANT_NO组合在一起,同时也只尝试选择符合此要求的组.

编辑:我得到了这个工作.

但是,还有一件事我还没有想到.
下表列出了他们所在城市的身份证号码:

PERSON_NO | CITY_NAME
---------------------
1         |    City A
2         |    City B
3         |    City A
3         |    City B
3         |    City C
4         |    City A
4         |    City B
4         |    City C

我将如何获得所有人的PERSON_NO
谁住在所有三个城市,A,B和C?

我想回来

PERSON_NO
---------
3
4

再次感谢.我没有那么多的sql经验,所以我不知道该怎么做.

解决方法

单程:
SELECT RESTAURANT_NO FROM restaurant WHERE RESTAURANT_NO NOT IN
(SELECT RESTAURANT_NO FROM restaurant WHERE RESTAURANT_LOCATION = 'City C')

原文地址:https://www.jb51.cc/mssql/75485.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐