【发布时间】:2014-12-31 22:54:54
【问题描述】:
我正在尝试在 IN 子句中编写 case 语句。
Channel 列包含三个值 ACT、REN、REP。我想选择超过 1 个值,但我得到的结果只有一个值。
select * from tbl
WHERE tbl.Channel IN (select
case when @ACT =1 then 'ACT'
when @REN =1 then 'REN'
when @REP =1 then 'REP' END)
我应该在这里做些什么改变?
【问题讨论】:
-
您使用的是 MySQL 还是 SQL Server?请仅标记您实际使用的平台。当您将鼠标悬停在这些标签上时,它们会有描述;请在使用前阅读它们。
-
@AaronBertrand 我最近看到了很多。可能是因为这个meta.stackoverflow.com/questions/275170/…
-
@Martin 可能是。另请参阅meta.stackexchange.com/questions/207274/… 和 Shog 的回答 here 下的讨论。
-
@AaronBertrand 希望他们扩展新的标签提示功能,使其更加智能并识别特定的 RDBMS 平台,这样它就不会在已标记时向您发出警告。那么我想这将是一个很短的步骤来识别你有多个标记。
标签: mysql sql sql-server