我正在尝试在Sql Server中创建一个表值函数。这里我有3列,我想将它们合并为一列,让我们说“新”。如果它们的值为1,则此新列应显示3列的名称。例如,对于第一行,它应显示Isprod,对于第2行,它应显示IsCompetProd,依此类推。
IsProd IsCompetProd IsOther
1 0 0
0 1 0
0 0 1
1 0 0
有没有办法做到这一点?
答案 0 :(得分:1)
如果我得到你想要的东西。使用案例陈述。试试这个:
SELECT
tbl.*,
(
CASE
WHEN IsProd=1
THEN 'IsProd'
WHEN IsCompetProd=1
THEN 'IsCompetProd'
WHEN IsOther=1
THEN 'IsOther'
ELSE 'None'
END
)AS newColumn
FROM
tbl
答案 1 :(得分:1)
试试这个
SELECT CASE WHEN IsProd=1 THEN 'IsProd'
WHEN IsCompetProd=1 THEN 'IsCompetProd'
WHEN IsOther=1 THEN 'IsOther'
END [New]
FROM table1