0

複数の列 (varchar、ただしブール値の「Y」または「」を格納するために使用) を、人間が読めるテキストを含む単一の列 (リスト) に結合しようとしています。

テーブル レイアウトは次のようになります。

MEMBER_ID (int) | PROC (varchar) | 50K_12_MTHS (varchar) | 100K_12_MTHS (varchar)
1||||
2|Y|Y||
3|Y|Y|Y|
4|Y|||

私が取得しようとしている有能なサンプルの出力について:

1|
2|Proc, 50
3|Proc, 50, 100
4|Proc

これを行う方法はケース(下記参照)を使用することだと思いますが、うまくいきません。

SELECT
MEMBER_ID,
Gorup =
Select(
CASE PROC
  WHEN 'Y'
  THEN 'Proc'
END  + ', ' +
CASE 50K_12_MTHS
  WHEN   'Y'
  THEN '50K'
END--  + ', ' +
CASE 100K_12_MTHS
  WHEN 'Y'
  THEN '100K'
END  + ', ' +)
from Members
4

2 に答える 2

0

ほぼ...!

SELECT
MEMBER_ID,
CASE [PROC]
  WHEN 'Y' THEN 'Proc, '
  ELSE ''
END +
CASE [50K_12_MTHS]
  WHEN 'Y' THEN '50K,'
  ELSE ''
END +
CASE [100K_12_MTH]
  WHEN 'Y' THEN '100K, '
  ELSE ''
END  as [group]
from Members
于 2013-10-16T07:21:10.490 に答える