除了我想添加到查詢,我幾乎有我需要在下面的查詢。現在,如果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)
如何添加該條件。
scenario 1:
table1.cardid = 10005 table1.membernum = 9
table2.cardid = 10010 table2.membernum = 9
table3.cardid = 10005 table3.enddate = '2013-10-15'
這應返回10005的結果,因爲即使table3.cardid位於table3.endate小於今天
scenario 2:
table1.cardid = 10005 table1.membernum = 9
table2.cardid = 10010 table2.membernum = 9
table3.cardid = 10005 table3.enddate = '2013-10-31'
因爲CardId中位於表3本不應返回結果和結束日期是更大比今天。
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