我需要做类似的事情:
select * from table1 where type case @param when 1 then EQUAL else NOT EQUAL end 3
为type = 3或类型<>选择全部3,取决于param。 考虑一个涉及很多表的大选择.... 这个想法不是在“UNION”的两边复制相同的选择
select * from table1 where type = 3 and @param =1
UNION
select * from table1 where type <> 3 and @param <> 1
有可能吗?
答案 0 :(得分:0)
也许是这样的?
select *
from table1
where
((@param=1) and (type=3))
or
((@param<>1) and (type<>3))
答案 1 :(得分:0)
CREATE ASYMMETRIC KEY
如果您需要没有任何重复的结果集,请使用SELECT *
FROM table1
WHERE
type = 3 AND @param = 1
OR type <> 3 AND @param <> 1
。