2010-04-15 155 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