SQL连接两条记录

SQL连接两条记录,sql,oracle,select,join,Sql,Oracle,Select,Join,我有一个查询,它像这样输出我的行 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| 我想要这样的 CODE|FIELD1|FIELD2|

我有一个查询,它像这样输出我的行

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|
我想要这样的

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|
我该怎么做? “代码”不是唯一的。 实际上,这个查询生成了一个包含多行的结果集,所以我必须让某人配对使用这个查询

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 挑选 代码, 最大值(字段1)为字段1, 最大值(字段2)为字段2, 最大值(字段3)为字段3, 最大值(字段4)为字段4, 最大值(字段5)为字段5 从…起 桌子 按代码分组
这里可以使用的一个巧妙技巧是使用
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

code
字段对每一对都是唯一的吗?像这样的行?你是说两行吗?我有几百行像这样..A不是唯一的,所以为什么在第5列中选择了
xyz
而不是
qwe
?查询应该如何决定在字段5中显示什么?(
XYZ
QWE
?)按字母顺序递减?-记住,关系数据库表中没有隐式顺序。什么不起作用?你得到的是不同的结果吗?哈哈-这是不起作用的,而且别人发布的完全相同的查询被标记为“正确”?怎么样?