2013-05-16 4 views
-3

J'ai deux requêtes qui retournent deux résultats différents l'un est le retour ex # 1 retour et le second retour ex # 2, je veux combiner et vouloir le résultat du désir.combiner des lignes dans SQL

ex # 1

PartyID PartyName TotalMain 
    1   A   1 
    2   B   1 

ex # 2

PartyID PartyName  TotalSub 
    1   A    1 
    3   C    1 

et je veux le résultat

PartyID PartyName  TotalMain    TotalSub 
    1   A     1     1 
    2   B     1     0 
    3   C     0     1  
+3

-1, montrez-nous vos requêtes et vos tableaux. Lorsque vous posez une question, veuillez réfléchir aux informations de base dont VOUS auriez besoin pour résoudre le problème et fournissez-le afin que nous puissions vous aider. –

+0

@AbeMiessler merci pour response.sorry je n'ai pas la permission de montrer la requête s'il vous plaît utiliser des tables génériques et résoudre le problème. – enigma

+1

Vous pouvez trouver des données fictives et des tableaux qui représenteront votre problème. –

Répondre

1
;with sample as 
(
SELECT 
e1.PartyID as partyid 
,e1.PartyName as partyname 
,e1.totalmain AS TotalMain 
,0 AS TotalSub 
From table1 e1 
UNION ALL 
SELECT 
e2.PartyID 
,e2.PartyName 
,0 AS TotalMain 
,e2.totalsub AS TotalSub 
From table2 e2 
) 
SELECT 
partyid 
,MAX(partyname) as partyname 
,MAX(totalmain) as totalmain 
,MAX(totalsub) as totalsub 
from sample 
GROUP BY 
partyid 
0

Sans voir vos tables et sql en cours, tout ce que je peux suggérer est:

Select Coalesce(a.PartyId, b.PartyId) partyId, 
     Coalesce(a.PartyName, b.PartyName) partyName, 
     a.TotalMain, b.TotalSub 
    From ([Put First Query SQL Inside here]) a 
     Full Join ([Put Second Query SQL Inside here]) b 
     On a.PartyId = b.PartyId 
+0

Cela n'obtiendra pas les zéros dans la sortie désirée, bien que je réalise que la question est trop vague en ce moment. –

Questions connexes