Sql 不在sybase工作吗?
我有两张桌子,比如说表1和表2 这两个表都有一个列名和ID 我想从表2中获取所有不在表1中的名称 我写了以下问题:Sql 不在sybase工作吗?,sql,sybase,sap-iq,Sql,Sybase,Sap Iq,我有两张桌子,比如说表1和表2 这两个表都有一个列名和ID 我想从表2中获取所有不在表1中的名称 我写了以下问题: Select Name,ID FROM Table2 t2 WHERE t2.Name NOT IN (Select t1.Name FROM Table1 t1); 但是这个查询并没有给出预期的输出,我的意思是它也给出了我的名字,它在表1中 我在谷歌上搜索了一下,发现可能是如果Table1有null值,即子查询结果包含null。虽然我的表没有空值,但为了确保这不是问题,我重写了
Select Name,ID FROM Table2 t2 WHERE t2.Name NOT IN (Select t1.Name FROM Table1 t1);
但是这个查询并没有给出预期的输出,我的意思是它也给出了我的名字,它在表1中
我在谷歌上搜索了一下,发现可能是如果Table1有null值,即子查询结果包含null。虽然我的表没有空值,但为了确保这不是问题,我重写了查询,但没有ant luck:
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中有任何错误吗?我正在使用sybase 16和db visualizer
更新
如果我有以下数据
表1
表2
预期结果
但我得到了:
结果来了
请注意,有些时候我也会得到预期的结果,不确定为什么有些时候它会像预期的那样工作,而有些时候则不是请更具体地说明没有得到预期结果是什么意思!提供示例数据、预期输出和第二次查询提供的输出。您的问题并添加一些示例数据(如插入到)以及您希望看到的内容。可能在其中一个名称中有一些尾随空格。尝试使用
trim(name)
(或Sybase中的任何等效工具)在ASE16中不太可能出现错误,这是绝对标准的功能;我最近自己也使用过这种类型的查询,效果很好。在没有其他人也可以复制的精确复制的情况下,我认为您的查询有点可笑。--大写/小写不匹配?数据中的有趣字符(如CR或LF)?请更具体地说明没有得到预期结果的含义!提供示例数据、预期输出和第二次查询提供的输出。您的问题并添加一些示例数据(如插入到)以及您希望看到的内容。可能在其中一个名称中有一些尾随空格。尝试使用trim(name)
(或Sybase中的任何等效工具)在ASE16中不太可能出现错误,这是绝对标准的功能;我最近自己也使用过这种类型的查询,效果很好。在没有其他人也可以复制的精确复制的情况下,我认为您的查询有点可笑。--大写/小写不匹配?数据中的有趣字符(如CR或LF)?
Name ID
-------------------
Jay 1
---------------------
Name ID
-------------------
Jay 1
Tom 2
---------------------
Name ID
-------------------
Tom 2
---------------------
Name ID
-------------------
Jay 1
Tom 2
---------------------