J'ai écrit l'instruction sql suivante, mais je ne sais pas comment écrire l'instruction where car elle est conditionnelle. J'ai donc:Instruction conditionnelle SQL where
declare @subject varchar(100)
select surname, forename, result
from student
join subject on subject.upn = student.upn
where...
ce que je veux alors écrire comme sql est:
where
if subject = 'English' then [email protected] and KS2en=''
or if subject = 'Maths' then subject = @subject and KS2ma = ''
or if subject <> 'Maths' and <> 'English' then subject = @subject and KS2av = ''
Je suppose que cela peut être fait logiquement ou peut-être en utilisant case
, mais je suis un peu d'une perte en ce moment.
Voici les tableaux:
étudiants
UPN | Surname | Forename | KS2en | KS2Ma | KS2av
Sujet
UPN | Subject
Tous sont varchar.
@marc_s fait compagnon. – Matt
Afficher toutes les colonnes + types de tables concernées, 'display' est-il aussi une colonne ou juste un autre mot pour' then do ... '? Montrer quelques exemples de données et un résultat souhaité. –
@TimSchmelter merci Tim. J'ai édité la question. Espérons que cela rend les choses un peu plus claires maintenant. – Matt