Comment écrivez-vous un SI d'AUTRE à l'intérieur d'une instruction SELECT dans MSSQL 2008?
Voici ce que je suis en train de faire:
SELECT iif(d.ItemType = 'INVOICE', 0, iif(d.ItemType = 'PACKING', 0, 1)) AS MissingDocuments FROM dbo.DocumentDetails AS D
Malheureusement rendu compte que ce n'est pas compatible avec MSSQL2008. Donc essayé d'écrire un IF ELSE
mais qui ne fonctionne pas.
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 ?
utiliser les
il vous manque des
double possible de stackoverflow.com/questions/4622/sql-case-statement-syntax
Vous devez avoir posté une réponse...ces points auraient pu être les vôtres!
Aussi longtemps que l'OP obtient une réponse, et la question se ferme, c'est du tout bon. 🙂
CASE
. CASE WHEN d.ItemType IN ('INVOICE','PACKING') THEN 0 ELSE 1 END
il vous manque des
if
déclaration dans votre else
bloc. Il n'y a pas de if
pour votre imbriquée else
double possible de stackoverflow.com/questions/4622/sql-case-statement-syntax
Vous devez avoir posté une réponse...ces points auraient pu être les vôtres!
Aussi longtemps que l'OP obtient une réponse, et la question se ferme, c'est du tout bon. 🙂
OriginalL'auteur Randana Eranga Goonesinghe | 2015-05-19
Vous devez vous connecter pour publier un commentaire.
Utilisation
CASE ... WHEN
. La plus concise de la logique semble être:c'est à dire le Document est manquant, si elle n'est pas "Facture" ou "Packing"
OriginalL'auteur StuartLC
Je pense que Vous cherchez
Case When
Essayez Cette..
votre accueil @RandanaErangaGoonesinghe
OriginalL'auteur Dhaval