请教一个问题
sql语句中的case when
条件 @a=1 字段1就等于'ZM01'
如果@a=2 字段1就等于‘ZM02’,‘ZM03’,‘ZM04’,‘ZM05’
要怎么写呢?
麻烦举个例子 谢谢了
------解决方案--------------------SELECT 编号,SUM(CASE WHEN 科目='数学' THEN 数学分数 END) AS 数学,
SUM(CASE WHEN 科目='语文' THEN 语文分数 END) AS 语文 FROM 表名 GROUP BY 编号;
不知道这样写,你时候能理解。
------解决方案--------------------试一下这样写,可以不
CASE @a
WHEN 1 THEN 'ZM01'
WHEN 2 THEN 'ZM02','ZM03','ZM04','ZM05'
------解决方案--------------------lz是
如果@a=1
就sql拼上 "字段1 = 'ZM01'"
如果@a=2
就在sql拼上" 字段1=‘ZM02’
or 字段1=‘ZM03’
or 字段1=‘ZM04’
or 字段1=‘ZM05’"
这个意思吧?
good luck
------解决方案--------------------select XXXX
from XXXX
where
(a = '1'
and field1='ZM01'
)
or
(a = '2'
and (field1='ZM02' or field1='ZM03' or field1='ZM04' or field1='ZM05'
)
没用case when,好像能实现
good luck
------解决方案--------------------ororor的那行少了个右括号。。。
good luck