我有一个问题,弄清楚两个表之间的区别。
首先,我想加入这两个表,因为我想排除第6步和第11步之类的条目。我只需要在字段上检查匹配:步骤
然后我试图找出哪些步骤在选项字段上没有匹配。示例步骤5与选项16匹配。然后步骤5需要以某种方式删除,问题是步骤5,选项15 - 我无法真正“摆脱”。
Table 1:
--------------
Fields: STEP, OPTION
- 5, 16
- 10, 15
- 11, 31
- 12, 14
Table 2:
----------
Fields: STEP, OPTION
- 5, 15
- 5, 16
- 6, 7
- 12, 13
基本上我要找的结果是步骤12,选项13。
猜猜它会在某个方面:
SELECT * FROM table1 AS T1 INNER JOIN table2 AS T2 ON T1.step = T2.step
然后结果是,你必须做类似的事情(我知道它不是正确的SQL,但我不知道该怎么做):
选择步骤FROM above_result WHERE(T1.step = T2.step AND T1.option = T2.option)== HUNTING COUNT 0
因为步骤5将计数1,步骤12计数为0。
我尝试了各种分组,计数,加入 - 但尚未破解它。
我希望现在更清楚
答案 0 :(得分:0)
感谢gunr2171的提示 - 帮助我的解决方案是以下问题:
SELECT MP.step_id,(SELECT COUNT(id)FROM table2 WHERE option_id = CP.option_id AND step_id = CP.step_id)counter FROM table2 AS MP INNER JOIN table1 AS CP ON CP.step_id = MP.step_id HAVING counter = 0
我不确定它是最快的解决方案,但它解决了我的问题 - 这就是找到"独特的"步骤,步骤匹配,但不是两个表之间的选项。