22,209
社区成员
发帖
与我相关
我的任务
分享
;WITH cte AS
(
select t1.id,t1.ck_id,sum(t1.记录数) as 记录数2
from
(
SELECT id, ck_id, SUM(num) AS 记录数
FROM dbo.表A
GROUP BY id, ck_id
UNION ALL
SELECT id, ck_id,SUM(num) AS 记录数
FROM dbo.表B
GROUP BY id, ck_id
) as t1
GROUP BY t1.id,t1.ck_id
)
SELECT a.id,c.NAME,a.num,a.ck_id,ck=d.ck
FROM cte a
INNER JOIN 表D d
ON a.ck_id = d.ck_id
CROSS APPLY
(SELECT TOP(1) * FROM 表C m WHERE m.id = a.id AND m.ck_id=a.ck_id ORDER BY istrue desc) c