Sql server 水平显示结果
使用SQLServer2005 我希望水平显示Sql server 水平显示结果,sql-server,for-xml,Sql Server,For Xml,使用SQLServer2005 我希望水平显示itemid、deliverydate、remainpurchapphysical 目前,我正在为XML路径使用,,这很有效 当结果是每个itemid有多个交付日期时,我想让它们显示得更好一些 [ITEMID] [DELIVERYDATE AND REMAINPURCH] ----------------------------------------- [1234] [14/14/2014 25 | 15/15/2015 27
itemid、deliverydate、remainpurchapphysical
目前,我正在为XML路径使用,
,这很有效
当结果是每个itemid有多个交付日期时,我想让它们显示得更好一些
[ITEMID] [DELIVERYDATE AND REMAINPURCH]
-----------------------------------------
[1234] [14/14/2014 25 | 15/15/2015 27 | 16/16/2016 28]
最好在每个日期之间加上|
这是当前的代码
-select itemid, CONVERT(NVARCHAR, deliverydate, 103),remainpurchphysical
--from purchline where purchstatus =1 --and itemid = '00727-s'
SELECT
itemid
,deliverydates = STUFF(
(SELECT ' ' + CONVERT(NVARCHAR, deliverydate, 103)
FROM purchline b
WHERE b.itemid = a.itemid AND purchstatus = 1
ORDER BY deliverydate
FOR XML PATH('')), 1, 1, '')
,remainpurchphysical = STUFF(
(SELECT ' ' + CAST(CONVERT(Decimal(9,0), remainpurchphysical) AS VARCHAR)
FROM purchline b
WHERE b.itemid = a.itemid AND purchstatus = 1
ORDER BY deliverydate
FOR XML PATH('')), 1, 1, '')
FROM purchline a
WHERE purchstatus =1
GROUP BY itemid
ORDER BY itemid
像这样的,
SELECT
[ITEMID],
STUFF(
(SELECT ' | ' + [date]
FROM Table1
WHERE [ITEMID] = a.[ITEMID]
FOR XML PATH (''))
, 1, 1, '') AS DateList
FROM Table1 AS a
GROUP BY [ITEMID]