筛选和合并内部表数据



我正在学习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

如果我说错了请纠正我

您应该能够使用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

Select Id, MAX(ISNULL(FIELD1, 0)), MAX(ISNULL(FIELD2, 0)), MAX(ISNULL(FIELD3, 0)), MAX(ISNULL(FIELD4, 0)), MAX(ISNULL(FIELD5, 0)) From tableA Group By Id

最新更新