2010-04-15 150 views
2

我的SQL有点不好。我得到一个查询,当我运行它时,例如返回10行,但在where子句中有15个,我如何识别那些我找不到的5个?找到丢失的记录

当然,我可以转储它在MS Excel中,但我如何使用SQL?

它的一个简单的查询:

SELECT * FROM客户其中username中( “21051”, “21052” ......

闲来无事在where子句中,它返回10行,但也有15在那里用户名where子句

+1

如果您发布的查询,以及15行的转储,有人可以帮您特别否则,我建议菊st查看数据,并试图找出您的查询失败的位置。这可能是一个意外的NULL值(?)问题。 – 2010-04-15 18:16:20

+0

如果没有至少您正在运行的查询,我们不能回答这个问题 – gbn 2010-04-15 18:44:48

回答

1

要确定缺少的行:。

SELECT * 
FROM (SELECT '21051' username 
     UNION ALL SELECT '21052' 
     UNION ALL SELECT '21053' 
     UNION ALL SELECT '21054') u 
WHERE u.username NOT IN (SELECT c.username FROM customers c) 
+0

不幸的是,这是通向它的方法......或者制作一个临时表,然后将这些项插入该表中,然后执行相同的查询。 – 2010-04-16 10:05:08