说我有一张桌子:
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
Run Code Online (Sandbox Code Playgroud)
我如何将它们组合在一起,并且只选择在C市没有位置的RESTAURANT_NO?
使用这个例子,我想返回:
RESTAURANT_NO
-------------
1
4
Run Code Online (Sandbox Code Playgroud)
由于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
Run Code Online (Sandbox Code Playgroud)
我怎么能得到所有居住在这三个城市A,B和C的人的PERSON_NO?
我想回来
PERSON_NO
---------
3
4
Run Code Online (Sandbox Code Playgroud)
再次感谢.我没有那么多的SQL经验,所以我不知道该怎么做.
Joh*_*ick 31
单程:
SELECT RESTAURANT_NO FROM restaurant WHERE RESTAURANT_NO NOT IN
(SELECT RESTAURANT_NO FROM restaurant WHERE RESTAURANT_LOCATION = 'City C')
Run Code Online (Sandbox Code Playgroud)
SELECT DISTINCT
Restaurant_no
FROM
TableX t
WHERE
NOT EXISTS
( SELECT *
FROM TableX c
WHERE c.Restaurant_no = t.Restaurant_no
AND c.Restaurant_location = 'City C'
)
Run Code Online (Sandbox Code Playgroud)
使用DISTINCT.
尝试这个:
SELECT DISTINCT t.Restaurant_No
FROM Restaurant t
WHERE t.Restaurant_No NOT IN
(SELECT s.Restaurant_No
FROM Restaurant s
WHERE s.RESTAURANT_LOCATION = 'City C')
ORDER BY t.Restaurant_No
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37205 次 |
| 最近记录: |