zoukankan      html  css  js  c++  java
  • 多行合并问题

    上周遇到一SQL问题,多行数据合并成一行。 需求是这样的。 设计一表。商品对应的属性和属性值,由于商品可以对应多个属性,每个属性可以对应多个属性值。于是设计了这个表 [caption id="attachment_303" align="alignnone" width="997"]产品属性和属性值关联表 产品属性和属性值关联表[/caption] 但是先需要做成这样的效果。 [caption id="attachment_304" align="alignnone" width="722"]产品对应属性和属性值的显示效果 产品对应属性和属性值的显示效果[/caption] 这明显是多行合并问题,但是怎么合并却是个难题。苦思多时,没有结果,于是求助强大的google,网上果然有高人相助。 其实原理还是蛮简单的,就是把查询的结果输出成xml,然后读取这个xml,替换掉你要拼接的字段,就ok了。 现贴出核心代码,为自己做记录用。 [code lang="SQL"] SELECT * FROM (SELECT DISTINCT PAttributeID, PAttributeName, ProductID, SortId FROM T_PAttrRelation) a OUTER apply (SELECT pValueNames = STUFF(REPLACE(REPLACE ((SELECT pValueName FROM T_PAttrRelation N WHERE PAttributeID = a.PAttributeID AND PAttributeName = a.PAttributeName AND ProductID = a.ProductID AND SortId = a.SortId FOR XML AUTO),'<N pValueName="', ','), '"/>', ''), 1, 1, '')) N [/code]
    写个博客不容易,请转载的时候备注下原文出处,谢谢
    作者:keepnode
    博客地址:http://www.cnblogs.com/woaic
    每件事到最后都是好事,如果不是好事,说明还没有到最后
    =========================
  • 相关阅读:
    [Unity3D]Animation说明
    [Unity3D]Shader说明
    [AR+Vuforia]学习笔记
    [Android]ListView学习笔记
    [Android]优化相关
    [Android]学习笔记之布局
    [Android]快捷键
    [Android]学习笔记Activity_001
    [Unreal]学习笔记之灯光说明
    什么是Hystrix,Hystrix如何使用
  • 原文地址:https://www.cnblogs.com/woaic/p/3942824.html
Copyright © 2011-2022 走看看