对我的条件查询使用CASE或REPLACE

时间:2014-12-09 14:05:16

标签: sql-server

我有2个表,其中有联接。

对于第二个表TableB我正在获取id和post。

SELECT a.id,
    a.NAME,
    b.id,
    b.post
FROM tableA a
INNER JOIN tableB b
    ON a.bid = b.id

但在一个案例中 b.id = 3 我有 post ='manager'但我必须显示 post ='副总经理'。我无法更改表值,只能查询。

我目前正在使用替换。

SELECT a.id,
    a.NAME,
    b.id,
    replace(b.post, 'manager', 'associate manager')
FROM tableA a
INNER JOIN tableB b
    ON a.bid = b.id

我应该切换到大小写还是这是正确的。

此致

1 个答案:

答案 0 :(得分:1)

使用Case Statement

SELECT a.id,
       a.NAME,
       b.id,
       CASE
         WHEN b.id = 3 THEN 'associate manager'
         ELSE post
       END
FROM   tableA a
       INNER JOIN tableB b
               ON a.bid = b.id