将案例/​​时间插入到select语句中

时间:2018-07-27 15:19:03

标签: sql linq case

在读取邮件正文时,我试图将@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

1 个答案:

答案 0 :(得分:1)

即使您可以编写一个巨大的CASE子句,就像您正在执行的子句一样,我还是强烈建议在JOIN表中使用简单的client……假设您有一个。像这样:

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

这更短,工作更少,更不容易出错并且易于阅读。