我试图找到一个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'中选择 –