过滤和合并内部表数据

时间:2013-06-18 12:57:47

标签: sql oracle11g

我目前正在学习SQL。

假设我有一个带有数据的表A(假设自动增量字段为主键)

ID  FIELD1  FIELD2  FIELD3  FIELD4  FIELD5
1   1       null    null    null    null
1   null    2       null    4       null
1   null    null    3       null    null
1   null    null    null    null    5

由于ID相同,但值分布在各种记录中。是否可以使用SQL

获取记录
ID  FIELD1  FIELD2  FIELD3  FIELD4  FIELD5
1   1       2       3       4       5

如果我错了,请纠正我。

2 个答案:

答案 0 :(得分:1)

您应该能够使用带有GROUP BY的聚合函数来获得结果:

select id, 
  max(field1) as field1, 
  max(field2) as field2, 
  max(field3) as field3, 
  max(field4) as field4, 
  max(field5) as field5
from yourtable
group by id;

请参阅SQL Fiddle with Demo

答案 1 :(得分:0)

选择Id,MAX(ISNULL(FIELD1,0)),MAX(ISNULL(FIELD2,0)),MAX(ISNULL(FIELD3,0)),MAX(ISNULL(FIELD4,0)),MAX(ISNULL( FIELD5,0))来自tableA Group By Id