我有一个查询输出像这样的行
CODE|FIELD1|FIELD2|FIELD3|FIELD4|FIELD5|
A | DATA1| DATA2| | | XYZ |
A | | | DATA3| DATA4|data5A|
我想要这样的东西
CODE|FIELD1|FIELD2|FIELD3|FIELD4|FIELD5|
A | DATA1| DATA2| DATA3| DATA4|data5B|
我该怎么做? '代码'不是独一无二的。 实际上这个查询产生了一个包含多行的结果集,因此我必须配对某人
答案 0 :(得分:1)
您可以在这里使用的一个巧妙的技巧是使用max
(或min
)聚合函数 - 它将忽略null
s,因此列中唯一的值也是列中的最大值:
SELECT code,
MAX(field1) AS field1,
MAX(field2) AS field2,
MAX(field3) AS field3,
MAX(field4) AS field4,
MAX(field5) AS field5
FROM mytable
GROUP BY code
答案 1 :(得分:0)
使用此查询
SELECT CODE, MAX(FIELD1) AS FIELD1, MAX(FIELD2) AS FIELD2, MAX(FIELD3) AS FIELD3, MAX(FIELD4) AS FIELD4, MAX(FIELD5) AS FIELD5 FROM TABLE GROUP BY CODE