得到了这个查询:
FOR XML PATH('')
项目通常有多个零件号。可以修改我的查询以获得分组结果吗?
不添加任何子选择。分组不工作。我尝试添加 <style type="text/css">
#rightbar img:hover
{
border:1px solid #5cadff;
text-decoration:none;
}
#rightbar img
{
border:1px solid transparent;
padding:20px 58px;
}
</style>
,但它会转换xml中的所有列,而不仅仅是部件号
答案 0 :(得分:2)
这是一种可行的方法(我认为你应该使用1:n设计)
DECLARE @items TABLE(item_id INT, item_description VARCHAR(100),part_number VARCHAR(100));
INSERT INTO @items VALUES(1,'HP Color','C4149A-REMAN')
,(1,'HP Color','C4149REMAN')
,(2,'Toner','480-0055')
,(2,'Toner','4800055')
,(2,'Toner','888037')
,(3,'anotherone','1234');
WITH itemCTE AS
(
SELECT DISTINCT item_id,item_description
FROM @items
)
SELECT itemCTE.*,parts.list
FROM itemCTE
CROSS APPLY
(
SELECT STUFF((SELECT ', ' + part_number AS concated
FROM @items AS itm
WHERE itm.item_id=itemCTE.item_id
FOR XML PATH(''),TYPE).value('.','varchar(max)'),1,2,'')
) AS parts(list)