我有两张桌子可以说 Table1 和 Table2 并且两个表都有一个列名称和ID
我想从 Table2 中获取所有名称,而不是 Table1 我写了下面的查询:
Select Name,ID FROM Table2 t2 WHERE t2.Name NOT IN (Select t1.Name FROM Table1 t1);
但是这个查询没有给出预期的输出,我的意思是它也给了我在 Table1 中的名字。
我做了一些谷歌,发现可能是 Table1 有 null 值,即如果子查询结果包含 null 。虽然我的表没有空值但是为了确保这不是问题,我已经重写了查询,但没有运气:
Select Name,ID FROM Table2 t2 WHERE t2.Name
NOT IN (Select t1.Name FROM Table1 t1 where t1.Name is not null);
仍然我没有得到预期的结果,但奇怪的是有一段时间它给出了预期的结果,有些时候没有,任何建议,帮助将不胜感激。
sybase 16中是否有任何错误?我正在使用带有db-visualizer的sybase 16。
更新 如果我有以下数据
Name ID
-------------------
Jay 1
---------------------
Name ID
-------------------
Jay 1
Tom 2
---------------------
Name ID
-------------------
Tom 2
---------------------
但我得到了:
Name ID
-------------------
Jay 1
Tom 2
---------------------
请注意我有时会得到预期的结果,不确定为什么有些时候它会按预期工作而有些时间没有