我写了下面的sql语句,但我不确定如何编写where语句,因为它是有条件的。所以,我有:SQL条件where语句
declare @subject varchar(100)
select surname, forename, result
from student
join subject on subject.upn = student.upn
where...
我再想写的SQL是:
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 = ''
我认为这在逻辑上或许使用case
做,但我在一个小的损失的在这一刻。
下面是表:
学生
UPN | Surname | Forename | KS2en | KS2Ma | KS2av
主题
UPN | Subject
所有都是VARCHAR。
@marc_s做过队友。 – Matt 2013-05-12 20:24:49
显示所涉及表格的所有列+类型,是“显示”还是“还是...”的列或只是另一个词?显示一些示例数据和期望的结果。 – 2013-05-12 20:27:03
@TimSchmelter谢谢Tim。我编辑了这个问题。希望它现在能让事情变得更清楚一些。 – Matt 2013-05-12 20:34:01