sql server 多行查询结果显示为一行

2025-04-07 04:05:52
推荐回答(2个)
回答1:

参考这个链接:http://blog.csdn.net/helloword4217/article/details/17202973 应该能解决的。

我正在努力看懂...............

试一下下面代码看看

select WPRO_NAME,CS_PRICE+WS_PRICE --CONT_NO ,CONT_VER 这两列我不要了

INTO #ProgrectDetail

from CS_COST_DETAIL where FTY_ID='mk5' and CONT_NO='GWCH-14-AK084' and COST_VER=0

DECLARE @sql VARCHAR(1000), @distinct_val VARCHAR(500) ;
SET @sql = 'SELECT * FROM #ProgrectDetail PIVOT(SUM(PRICE) FOR [WPRO_NAME] IN (' ;
SET @distinct_val = (SELECT STUFF(( SELECT DISTINCT ',' + [WPRO_NAME] FROM #ProgrectDetail FOR XML PATH('')), 1, 1, '')) ;
SET @sql = @sql + @distinct_val + '))' + ' p'
EXEC(@sql)

回答2:

select (CS_PRIC + WS_PRIC) as WPRO_NAME 
from ..
where ..