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
  • 相关阅读:
    C#调用存储过程的几个方法
    easyui 获取焦点
    easyui datagrid 添加统计行
    js 序列化form
    post 加返回判断
    启动journalnode时出现问题
    安装zookeeper集群及出现的问题
    win7旗舰版(64位)环境下oracle11g的安装方法(转)
    jdbc连接各种数据库方式列表
    在Windows平台上使用XManager 3.0连接Redhat 企业版 5和6.
  • 原文地址:https://www.cnblogs.com/heyiping/p/9402833.html
Copyright © 2011-2022 走看看