나는 쿼리에 추가 할 table30에 다른 enddate_column
이 있다는 점을 제외하고는 내가 필요한 쿼리를 거의 가지고있다. 현재 cardid가 table3에 있으면 table1과 table2가 같지 않은 부분은 무시됩니다. 하지만 enddate_column
이 today
보다 작은 한 table3에 일치하는 레코드가 포함되어 있어도 결과를 반환하도록 쿼리를 허용해야합니다.SQL 쿼리 어디 레코드가 존재 제외 제외
SELECT * FROM [table1]
INNER JOIN [table2] ON [table1].MemberNum = [table2].MEMBERNUM
WHERE [table1].CardID<>[table2].cardid
AND EXISTS(SELECT * FROM [TABLE3] WHERE [TABLE3].CARDID<>[table1].CardID)
나는 그 기준을 추가한다. table3.cardid가 위치한 경우에도 table3.endate이 cardid가 표 3에 위치하기 때문에이 결과를 반환하지 않아야
scenario 2:
table1.cardid = 10005 table1.membernum = 9
table2.cardid = 10010 table2.membernum = 9
table3.cardid = 10005 table3.enddate = '2013-10-31'
오늘보다 작고 ENDDATE가 크기 때문에
scenario 1:
table1.cardid = 10005 table1.membernum = 9
table2.cardid = 10010 table2.membernum = 9
table3.cardid = 10005 table3.enddate = '2013-10-15'
이 10005에 대한 결과를 반환해야 오늘보다.
scenario 3:
table1.cardid = 10005 table1.membernum = 9
table2.cardid = 10010 table2.membernum = 9
table3.cardid <>exist table3.enddate <> exist
해당 ID 나던 표 3에 존재하기 때문에이 cardid 10005의 결과를 반환해야합니다
각 테이블의 데이터와 예상되는 출력 예제는 문제를 이해하는 데 큰 도움이됩니다. 그것의 가능성이있는 또는 쿼리 부분 중 하나에 있지만 그것의 표 2 또는 3 문제가 있다면 설명에서 명확하지. – u07ch
그리고 3 개의 테이블을 모두 합치면 어떨까요? –
@ u07ch 질문에 데이터를 추가했는데, 세 개의 테이블 모두에서 내부 조인을 시도했는데 table3에 대한 조인조차도 여전히 enddate
gbb116