2009-01-28 6 views
0

je dois requêtes:résultats dans Fusion instruction T-SQL

select id, name, num from pending 

id, name, num 
1, first, 1 
3, third, 12 
select id, name, num from completed 

id, name, num 
1, first, 100 
2, second, 20 

Je veux sortie de combiner ces derniers, peut-être comme un tableau croisé dynamique, en utilisant T-SQL.


id, name, pending, completed, total 
1, first, 1, 100, 101 
2, second, null, 20, 20 
3, third, 12, null, 12 

Comment cela peut-il être écrit?

+0

Quelle version de SQL Server avez-vous? –

Répondre

3

Pas besoin de pivot.

SELECT 
    COALESCE(p.id, c.id), 
    COALESCE(p.name, c.name), 
    p.num AS pending, 
    c.num AS completed, 
    COALESCE (p.num, 0) + COALESCE (c.num, 0) AS total 
FROM 
    pending p 
    FULL OUTER JOIN 
    completed c ON p.id = c.id 

COALESCE est ANSI SQL, mais vous pouvez utiliser ISNULL trop

Questions connexes