繁体   English   中英

将多行合并为一行-SQL Server 2005

[英]Combine multiple rows into one row - SQL Server 2005

SQL查询是:

select 147443 as DPID, 0 as CoID, 'ABC2431953D' as MID
union 
select 147443 as DPID, 176821 as CoID, '' as MID

结果应为:

147443, 176821, ABC2431953D

我怎么做?

您只需要加入结果集

with a as (
   select 147443 as DPID, 0 as CoID, 'ABC2431953D' as MID
), b as (
   select 147443 as DPID, 176821 as CoID, '' as MID
)
select a.DPID, b.CoID, a.MID
from a
inner join b
    on a.DPID = b.DPID

尝试像这样使用Max

;WITH Temp (DPID, COID, MID) 
     AS ((SELECT 147443        AS DPID, 
                 0             AS CoID, 
                 'ABC2431953D' AS MID) 
         UNION 
         (SELECT 147443 AS DPID, 
                 176821 AS CoID, 
                 ''     AS MID)) 
SELECT MAX(DPID)AS DPID, 
       MAX(COID)AS CoID, 
       MAX(MID) AS MID 
FROM   Temp  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM