[SQL] SQL : 어떻게 당신이 특정 값을 포함하지 않는 경우에만 그룹을 선택합니까?
SQLSQL : 어떻게 당신이 특정 값을 포함하지 않는 경우에만 그룹을 선택합니까?
나는 테이블을 가지고 말 :
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
어떻게 함께 그룹화 할 수있을 것이며, 또한 단지를 선택 RESTAURANT_NO 도시 C의 위치를하지 않아도?
이 예제를 사용하여, 나는 돌아가려면 :
RESTAURANT_NO
-------------
1
4
RESTAURANT_NO 2, 3 년 이후 두 도시 C.에서 위치가
또한이 요구 사항을 충족 그룹을 선택 만하는 동안 어떻게 그룹 RESTAURANT_NO에 함께 모르겠어요.
편집 : 나는이 작업을 얻었다.
그러나, 나는 여전히 알아낼 수 없었던 것을 마지막으로 한 가지가있다. 다음 표는 자신들이 일한 도시와 함께 사람들의 ID 번호가 있습니다 :
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과 그렇게 많이 경험하지 않은 아니에요 확신 무엇을 할 수 있습니다.
해결법
-
==============================
1.일방 통행:
일방 통행:
SELECT RESTAURANT_NO FROM restaurant WHERE RESTAURANT_NO NOT IN (SELECT RESTAURANT_NO FROM restaurant WHERE RESTAURANT_LOCATION = 'City C')
-
==============================
2.
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' )
-
==============================
3.DISTINCT 사용합니다.
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
from https://stackoverflow.com/questions/9355241/sql-how-do-you-select-only-groups-that-do-not-contain-a-certain-value by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] MySQL은 OUTPUT 절 (0) | 2020.05.12 |
---|---|
[SQL] 사용자 정의 집계 함수 (CONCAT) SQL Server의 (0) | 2020.05.12 |
[SQL] MS-SQL 테이블 디자이너에서 대괄호 []의 의미? [복제] (0) | 2020.05.12 |
[SQL] SQL 서버에서 지난 7 일 현재 날짜부터 지난 7 일 데이터를 얻는 방법 (0) | 2020.05.12 |
[SQL] SQL 데이터베이스에 아랍어 저장 (0) | 2020.05.12 |