2014-09-15 4 views
1

J'ai cette table deuxsql comparer deux tables pour différentes sélectionnez

One:

ID          SystemProductID 
E57AD213-3953-481C-BA2B-4AF8B98A87B6 02188530 
2471F038-2646-4EC2-B245-4AF919901A71 02000099 
3A7D0896-EBB3-4E30-A535-4AF94FE83CCE 02025567 

Deux:

SystemProductID 
02188530 
02000099 
02460103 
02460101 

Comment sélectionner une partie de cette

IsExist SystemProductID ID 
true 02188530  E57AD213-3953-481C-BA2B-4AF8B98A87B6 
true 02000099  2471F038-2646-4EC2-B245-4AF919901A71 
false 02460103  NULL 
false 02460101  NULL 

S'il vous plaît dites-moi comment faire cela

complet rejoindre ne fonctionne pas sur ce que je veux

+0

Vous devriez publier votre code SQL – UnhandledExcepSean

Répondre

2

Dans ma façon de penser, j'utilise toujours ce que je sais des tables auront toutes les lignes de données et LEFT JOIN à partir de là. En règle générale, je n'aime pas les JOINs, car ils me paraissent contre-intuitifs. Une jointure complète pourrait également fonctionner. Donc, nous prenons toutes les lignes de la table 2 et nous laissons la jointure sur l'ID de la table 1 où nous pouvons.

SELECT 
    CASE 
     WHEN t1.SystemProductID IS NULL THEN 'false' 
     else 'true' 
    END [IsExist] 
    ,t2.SystemProductID 
    ,t2.ID          
FROM TableTwo t2 
LEFT JOIN TableOne t1 ON t1.SystemProductID=t2.SystemProductID 
Questions connexes