有一个数据库商品号 种类号 颜色(红色) 颜色(黄色) 颜色(白色)001 22 ○ NULL NULL
----------------------------------------------------
001 33 NULL ○ NULL
----------------------------------------------------
001 44 NULL NULL ○
----------------------------------------------------
002 55 NULL ○ NULL
----------------------------------------------------
002 66 ○ NULL NULL
----------------------------------------------------
003 77 NULL NULL ○
----------------------------------------------------
003 88 ○ NULL NULL
如果我想把上面的数据变成下面的形式应该怎么做商品号 颜色(红色) 颜色(黄色) 颜色(白色)001 ○ ○ ○
----------------------------------------------------
002 ○ ○ NULL
-----------------------------------------------------
003 ○ NULL ○
请高手指点,谢谢了。
----------------------------------------------------
001 33 NULL ○ NULL
----------------------------------------------------
001 44 NULL NULL ○
----------------------------------------------------
002 55 NULL ○ NULL
----------------------------------------------------
002 66 ○ NULL NULL
----------------------------------------------------
003 77 NULL NULL ○
----------------------------------------------------
003 88 ○ NULL NULL
如果我想把上面的数据变成下面的形式应该怎么做商品号 颜色(红色) 颜色(黄色) 颜色(白色)001 ○ ○ ○
----------------------------------------------------
002 ○ ○ NULL
-----------------------------------------------------
003 ○ NULL ○
请高手指点,谢谢了。
商品号,
max([颜色(红色)]) as [颜色(红色)],
max([颜色(黄色)]) as [颜色(黄色)],
max([颜色(白色)]) as [颜色(白色)] from
表
group by
商品号
商品号,
MAX([颜色(红色)]) [颜色(红色)],
MAX([颜色(黄色)]) [颜色(黄色)],
MAX([颜色(白色)]) [颜色(白色)]
FROM
表
GRUP BY
商品号
insert into @数据库 select 001,22,'o','',''
union all select 001,33,'','o',''
union all select 001,44,'','','o'
union all select 002,55,'','o',''
union all select 002,66,'o','',''
union all select 003,77,'','','o'
union all select 003,88,'o','',''
select 商品号,MAX(红色) 红色, max(黄色) 黄色 ,MAX(白色) 白色 from @数据库
group by 商品号
商品号 红色 黄色 白色
----------- ------ ------ ------
1 o o o
2 o o
3 o o(3 行受影响)