0

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

如果我错了请纠正我..

4

2 回答 2

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

于 2013-06-18T13:06:22.790 回答
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

于 2013-06-18T13:09:00.990 回答