我有一個包含其UNION'ed在一起的兩個SELECT語句的SQL查詢。當單獨運行他們的第一個SELECT返回10個記錄,第二個SELECT返回1分的記錄,所以當我得到UNION 11個返回記錄兩個的SELECT我會希望,但這是不是這樣的,我只得到9條。聯盟的聲明顯示不一致的結果
由於SQL的本質,我不能在這裏發佈它,但它包含5個表中的大量JOINS。所有返回的內容都是正確和有效的。
只是想知道是否有人看到這個問題發生時,UNION的兩個SELECT語句,如果任何人有什麼可能的原因,甚至指向我在正確的方向的意見,謝謝。
你不應該期待正好11條記錄。 UNION會將重複項「合併」爲一行,因此您應該期待MAX 11記錄。如果你得到9,這可能意味着它們在前10條記錄中是重複的......你可以嘗試使用UNION ALL嗎?並且/或者在您的第一個查詢中嘗試使用DISTINCT,查看您獲得的行數。 – 2013-03-22 10:28:30
我們不能幫你,如果你不張貼代碼。 'UNION'不應該這麼做,所以代碼對於確定問題是至關重要的。我會建議創建一個[SQLFiddle](http://sqlfiddle.com),其中包含顯示問題的代碼 - 它不一定是您的確切代碼 - 只是表現出相同行爲的代碼。 – 2013-03-22 10:28:33
@RaphaëlAlthaus感謝的是,完美的作品,現在,不知道有關的所有選項。 :) – llanato 2013-03-22 10:36:50