【问题标题】:XML PATH value in SQL SERVERSQL SERVER 中的 XML PATH 值
【发布时间】:2013-11-13 10:41:49
【问题描述】:

我正在使用 XML PATH 绑定多值列,查询工作正常,但结果为 xml 格式,我想将其转换为简单文本 这是查询

 SELECT soo.order_id,
 sum(oo.total)AS total,
 items=(SELECT si.item_name FROM sub_order i,Items si
 WHERE i.order_id=soo.order_id and si.item_id=i.item_id  FOR XML PATH(''))
 FROM Orders oo
 INNER JOIN Sub_Order soo ON oo.order_id = soo.order_id
 INNER JOIN Items
 ON soo.item_id = Items.item_id 
 group by soo.order_id

“items”字段的结果是这样的

 <item_name>cake</item_name><item_name>soap</item_name>

但我希望它像cake,soap

【问题讨论】:

    标签: sql-server sql-server-2008 for-xml-path


    【解决方案1】:

    替换

    items=(SELECT si.item_name FROM sub_order i,Items si
     WHERE i.order_id=soo.order_id and si.item_id=i.item_id  FOR XML PATH(''))
    

    items=STUFF((SELECT ',' + si.item_name FROM sub_order i,Items si
     WHERE i.order_id=soo.order_id and si.item_id=i.item_id  FOR XML PATH('')),1,1,'')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-04
      • 2021-11-15
      • 1970-01-01
      • 2012-01-03
      • 2017-12-06
      • 1970-01-01
      • 1970-01-01
      • 2011-01-08
      相关资源
      最近更新 更多