在我的sql脚本中,我有这个:
insert into @res
select
case
when x = 'tblDoll' then (...)
when x = 'tblCar' then (...)
when x = 'tblRocket' then
if rel_table_id = @old_id
(select x.price from tableInDb x where x.id = rel_table.toy_id)
end
from rel_table
where my_toy_id = @toy_id
@old_id是一个输入参数。
但if中的某些内容会返回语法错误。 rel_table_id是rel_table的id。如何在那里设置if条件?
答案 0 :(得分:1)
JOIN
这两个表,其中包含更多嵌套CASE
表达式,如下所示:
INSERT INTO @res
SELECT
CASE
WHEN x = 'tblDoll' THEN (...)
WHEN x = 'tblCar' THEN (...)
WHEN x = 'tblRocket' THEN
CASE WHEN rel_table_id = @old_id THEN x.price END
END
FROM rel_table t1
INNER JOIN tableInDb x ON x.id = rel_table.toy_id