下面的数据表列1(varchar)      列2(tinyint)
Mick              0
David             1
Michelle          2假设0=广州,1=北京,2=上海,我想要查询出来的结果是:
Mick(广州)
David(北京)
Michelle(上海)谢谢~

解决方案 »

  1.   

    DECLARE @TABLE  TABLE 
    (
    COLUM1 VARCHAR(10),
    COLUM2 INT
    )
    INSERT INTO @TABLE VALUES('Mick',0)
    INSERT INTO @TABLE VALUES('David',1)
    INSERT INTO @TABLE VALUES('Michelle',2)SELECT COLUM1 +'('+ CASE COLUM2 WHEN
    0 THEN '广州'
    WHEN 
    1 THEN '北京'
    WHEN
    2 THEN '上海'
    END +')'AS COLUM
    FROM @TABLE
      

  2.   

    create table t_test
    (
        m varchar(20) not null default '',
        n tinyint not null default 0
    )
    insert into t_test (m,n) values('Mick', 0)
    insert into t_test (m,n) values('David', 1)
    insert into t_test (m,n) values('Michelle', 2)
    select m++'('+convert(varchar(10),case n when 0 then '广州' when 1 then '上海' when 2 then '北京' end)+')'   from t_test
      

  3.   

    select m+'('+convert(varchar(10),case n when 0 then '广州' when 1 then '上海' when 2 then '北京' end)+')'   from t_test
    打多了个加号.
      

  4.   

    DECLARE @TABLE TABLE 
    (
    COLUM1 VARCHAR(10),
    COLUM2 INT
    )
    INSERT INTO @TABLE 
    select 'Mick',0 union all
    select 'David',1 union all
    select 'Michelle',2SELECT COLUM1 +'('+ CASE COLUM2 WHEN
    0 THEN '广州'
    WHEN 
    1 THEN '北京'
    WHEN
    2 THEN '上海'
    END +')'AS COLUM