在我的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 条件?
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