在select语句中插入case/when



在读取消息正文时,我正在尝试将@ClientID(int(更改为字符串。这就是我目前所拥有的:

BEGIN
SELECT @message = 'error'
SELECT @message = @message + 'client:' + @ClientID + char(13)
END

我该如何在这个select语句中输入一个案例来阅读?

CASE
WHEN @ClientID = 1 THEN 'McDonalds' 
WHEN @ClientID = 2 THEN 'BK'
WHEN @ClientID = 3 THEN ....etc
END

即使您可以像您正在做的那样编写一个巨大的CASE子句,我也强烈建议使用一个简单的JOINclient表。。。假设你有一个。类似于:

select m.message, c.name
from message m
join client c on m.client_id = c.id
where c.id = @ClientID

这篇文章要短得多,工作量少,不易出错,而且易于阅读。

最新更新