Voici ce que j'essaie de faire:
SELECT iif(d.ItemType = 'INVOICE', 0, iif(d.ItemType = 'PACKING', 0, 1)) AS MissingDocuments FROM dbo.DocumentDetails AS D
Malheureusement réalisé ceci n'est pas compatible avec MSSQL2008. Donc essayé d'écrire un IF ELSE
mais cela ne fonctionne pas non plus.
SELECT IF d.ItemType = 'INVOICE' 0 ELSE BEGIN d.ItemType = 'PACKING' 0 ELSE 1 END AS MissingDocuments FROM dbo.DocumentDetails AS D
pouvez-vous s'il vous plaît dites-moi ce que je fais mal ici?
Utilisez CASE ... WHEN
. La logique la plus concise semble être:
SELECT CASE WHEN d.ItemType IN ('INVOICE', 'PACKING') THEN 0 ELSE 1 END AS MissingDocuments FROM dbo.DocumentDetails AS d
c'est-à-dire que le document est manquant s'il ne s'agit pas d'une «facture» ou d'un «emballage»
Je pense que vous cherchez Case When
essayez ceci ..
SELECT case when d.ItemType = 'INVOICE' or d.ItemType = 'PACKING' then 0 ELSE 1 END AS MissingDocuments FROM dbo.DocumentDetails AS D