2010-08-19 18 views
2
Cusid Cusgroupid Productid 
5  NULL  NULL 

ppid cusgroupid  list bulk  cost billing 
854 NULL    45.00 42.00 42.00 42.00 
855 2    39.00 36.00 33.00 30.00 

Je veux comparer deux tables, attendre compte résultat estcomment affecter une valeur NULL dans SQL Server 2008?

1, si cusgroupid est 2 uniquement sélectionner cette ligne

ppid cusgroupid  list bulk  cost billing 
855 2    39.00 36.00 33.00 30.00 

2, si cusgroupid est nul ne sélectionner que cette ligne

ppid cusgroupid  list bulk  cost billing 
854 NULL    45.00 42.00 42.00 42.00 

Aidez-nous!

+0

2 condition est si cusgroupid est NULL sélectionner uniquement cette ligne ppid liste cusgroupid facturation globale des coûts 854 NULL 45.00 42.00 42.00 42.00 – jay

+1

Pour pouvoir vous aider, nous devons comprendre ce que vous voulez. Pour ma part, je n'ai pas la moindre idée, désolé. –

+0

Il veut rejoindre les deux tables sur 'cusgroupid' Je pense – Rup

Répondre

1

Vous n'êtes toujours pas sûr de ce dont vous avez besoin, mais cela vous amène-t-il plus loin?

SELECT * FROM YourTable WHERE cusgroupid = 2 
SELECT * FROM YourTable WHERE cusgroupid IS NULL 

ou peut-être

SELECT * 
FROM  Table1 t1 
     INNER JOIN Table2 t2 
      ON ISNULL(t2.cusgroupid, -1) = ISNULL(t1.cusgroupid, -1) 

ou

SELECT * FROM YourTable WHERE cusgroupid = 2 OR cusgroupid IS NULL 
+0

en requête unique j'ai besoin ... plz – jay

0

Si vous voulez avoir toutes les lignes avec la valeur 2 ou NULL, utilisez alors:

SELECT ppid, cusgroupid, list, bulk, cost, billing 
FROM dbo.YourTable 
WHERE ISNULL(cusgroupid, 2) = 2 

Cela sélectionnera toutes les lignes avec cusgroupid = 2 et si cusgroupid est NULL, il utilisera aussi la valeur 2 - donc ceux-ci sont également inclus.