我試圖找到一個SELECT
查詢,返回所有的tableA.tba_id未tableB的存在(請注意,是兩個不同的外鍵 - tbb_tbAID1和tbb_tbAID2數據之間。 You can find DB Model here無法選擇兩個外鍵從其他表
我能做些什麼,到目前爲止
此只測試一列
SELECT tba_id FROM tableA
WHERE tba_id NOT IN
(SELECT tbb_tbAID1 FROM tableB
WHERE tbb_date > '$date2')
我在嘗試時來測試外國鍵
1241 MySQL錯誤 - 操作數應包含1列(S)
查詢:
SELECT tba_id FROM tableA
WHERE tba_id NOT IN
(SELECT tbb_tbAID1,tbb_tbAID2 FROM tableB
WHERE tbb_date > '$date2')
嘗試2:
SELECT tba_id FROM tableA
WHERE tba_id NOT EXISTS
(SELECT 1 FROM tableB
WHERE (tba_id = tbb_tbAID1 OR tba_id = tbb_tbAID2)
AND tbb_date > '$date2')
,但得到比第一次嘗試更多的結果(這表明,這是非常錯誤做)
Try3:
SELECT tba_id FROM tableA JOIN tableB ON tba_id!=tbb_tbAID1 AND tba_is!=tbb_tbAID2 WHERE tbb_data > '$data'
這導致在巨大的數據集,遠離第一方法。
這並不完全回答我的問題,因爲我之前曾嘗試過使用'JOIN'(抱歉,沒有提及它,問題已更新),並且它沒有從tableB的'data'中選擇 –