我有以下查询: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