zoukankan      html  css  js  c++  java
  • sql多行合并成一行用逗号隔开,多表联合查询中子查询取名可重复

    简单版的

    SELECT a.CreateBy,
    Name =stuff(
    (
    select ','+Name FROM SG_Client WHERE CreateBy = a.CreateBy for xml path(''))
    ,1,1,'')
    FROM SG_Client a 
    group by a.CreateBy

    //连表查询

    SELECT a.ContractID, LocationName =
    stuff( 
    ( select ',' + LocationName FROM(select L.Name as LocationName,b.ContractID from SG_ContractBunk B inner join MALL_Location L 
    on B.LocationID = L.LocationID ) tb where tb.ContractID=a.ContractID for xml path('')) ,1,1,'') 
    FROM(select L.Name as LocationName,b.ContractID from SG_ContractBunk B inner join MALL_Location L on B.LocationID = L.LocationID
    ) a group by a.ContractID
    select C.ContractID,ContractNO,ContractNO2,ContractName,State,CL.Name as ClientName,B.Name as BrandName,l.LocationName from SG_Contract C WITH (NOLOCK) 
    inner join SG_Client CL WITH (NOLOCK) on C.ClientID=CL.ClientID inner join SG_Brand B WITH (NOLOCK) on c.BrandID=B.BrandID 
    inner join (SELECT a.ContractID, LocationName =
    stuff( 
    ( select ',' + LocationName FROM(select L.Name as LocationName,b.ContractID from SG_ContractBunk B inner join MALL_Location L 
    on B.LocationID = L.LocationID ) tb where tb.ContractID=a.ContractID for xml path('')) ,1,1,'') 
    FROM(select L.Name as LocationName,b.ContractID from SG_ContractBunk B inner join MALL_Location L on B.LocationID = L.LocationID
    ) a group by a.ContractID) L ON C.ContractID=L.ContractID
  • 相关阅读:
    【作业】5个不合理的Xaml Control
    记录一下 mysql 的查询中like字段的用法
    BaseDao代码,用于连接数据库实行增删改查等操作
    Java的多态
    Java基础一
    数据库的设计
    JavaScript基础
    我注册博客的第一天
    JAVA异常处理流程理解
    javaweb中解决中文乱码问题
  • 原文地址:https://www.cnblogs.com/heyiping/p/9402833.html
Copyright © 2011-2022 走看看