日期:2014-05-17  浏览次数:20927 次

大牛们,如何合并数据呢?

--测试数据
create table #temp(定单编号 nvarchar(20), 产品名称 nvarchar(20),数量 nvarchar(20),录入用户名 nvarchar(20))
insert into #temp
select '001','A产品名','10','张三' union all
select '001','B产品名','10','张三' union all
select '001','C产品名','10','张三' union all
select '002','A产品名','20','李四' union all
select '002','c产品名','10','李四' 
--相要的效果
定单编号                 产品名称                 数量                   录入用户名
-------------------- -------------------- -------------------- --------------------
001                  A产品名                 10                   张三
                     B产品名                 10                   
                     C产品名                 10                   
002                  A产品名                 20                   李四
                     c产品名                 10                   

------解决方案--------------------

--测试数据
create table #temp(定单编号 nvarchar(20), 产品名称 nvarchar(20),数量 nvarchar(20),录入用户名 nvarchar(20))
insert into #temp
select '001','A产品名','10','张三' union all
select '001','B产品名','10','张三' union all
select '001','C产品名','10','张三' union all
select '002','A产品名','20','李四' union all
select '002','c产品名','10','李四' 

select 定单编号=case when n1=1 then 定单编号 else '' end,产品名称,数量,
录入用户名=case when n2=1 then 录入用户名 else '' end
from 
(
select *,n1=(select count(*)&nbs