programing

두 표 중 하나에서 값을 제외한 고유한 값을 얻는 방법

copyandpastes 2022. 9. 13. 23:43
반응형

두 표 중 하나에서 값을 제외한 고유한 값을 얻는 방법

두 개의 테이블에서 원하는 값을 가져와야 하지만 두 번째 테이블에서는 값을 제외해야 합니다.즉, 첫 번째 표의 값이 두 번째 표에 없고 9보다 큰 값이 모두 필요합니다.표는 다음과 같습니다.

표 Gr: 표 Ak:
Idgr | TextGr Idak | 그리드 | TextAk1 | Aa 1 | 11 | R11 | Bb 2 | 14 | P12 | Cc 3 | 16 | P13 | Dd 4 | 13 | P14 | Ee15 | Ff16 | Gg17 | Hh18 | II

Grid테이블 Ak는 같은 아이디입니다.Idgr테이블 Gr.
다음과 같은 결과를 얻어야 합니다.

결과:
Idgr | TextGr12 | Cc15 | Ff17 | Hh18 | II

LEFT OUTER JOIN으로 시도했지만 거의 모든 값이 테이블 Gr에서 나옵니다.SQLfiddle 데모 보기

동일성에 대해 검정하려고 합니다.on그 후 a를 사용합니다.where서로 맞지 않는 것을 찾아내는 거죠그래서, 내 생각엔 네가:

select Idgr, TextGr
from Gr left outer join
     Ak
     on gr.idgr = ak.gid
where gr.idgr > 9 and ak.Idak is null;

SQL Fielenle이 있습니다.

EXCEPT 키워드를 찾고 있습니다.

(SELECT Idgr AS Idgr FROM Gr WHERE Idgr > 9)
EXCEPT
(SELECT Grid AS Idgr FROM Ak);

그러면 Gr의 모든 값 목록이 제공된 다음 Ak에서 일치하는 값을 뺍니다.Mariadb에서는 다른 SQL 버전에서는 EXCEPT로 불리며 종종 MINUS로 불리기도 합니다.

언급URL : https://stackoverflow.com/questions/47731856/how-to-get-unique-values-excluding-values-from-1-of-2-tables

반응형