我有以下查詢:SQL聯接返回領域與空值
SELECT *
FROM tableA.A
LEFT JOIN tableB AS B ON B.id=A.id
LEFT JOIN tableC AS C ON C.id=A.id2
LEFT JOIN tableD AS D ON D.id=A.id3
WHERE D.id = '124' AND A.field = 1
GROUP BY A.id ORDER BY D.sortorder
上面的結構是同文同我真正的查詢,我想提一提,我在查詢中使用的所有表都有效和行填充數字和字母字符。任何地方都沒有NULL值。
的問題是,當我執行此查詢,則返回一個NULL值某些字段,即使它們不爲空。
我試圖解釋,因爲我可以一樣好,但它是一個奇怪的行爲,我無法找到任何谷歌。
如果它不是一個普遍的問題,很難發現其中的錯誤,也許一些建議會幫助我找到的bug。
預先感謝您
UPDATE我想apologize.The問題是由在桌子上一年底的進入造成的,這就是爲什麼它返回NULL,因爲實際上沒有match.Thank您的幫助
切勿對'GROUP BY'使用'SELECT *'。這表明你不知道你在做什麼。 –
@GordonLinoff,在我的代碼我用一些特定的領域,他們中的一些具有相同的名稱,這是集團的目的而 –
@PeterCos - 這是相當混亂的念想,因爲正如所寫的,您的查詢就會拋出一個錯誤。對於我們來說,如果你輸入一些列名稱以及如何對它們進行分組,那麼對於我們來說會更容易。 – kbball