結果にテーブル上存在しない列&値をつけたい。

フラミア
2014-05-08 15:10 1576 2
SELECT
ID,
NAME
FROM TEST

たとえば上記の結果で
ID NAME
1 'A'
2 'B'
3 'C'
4 'D'
5 'E'

と返ってくるとします。
これにテーブルには存在しない列をつけて、かつ、
こちらで指定した値を入れたいのですが可能でしょうか。

ID NAME VALUE
1 'A' 'あ'
2 'B' 'い'
3 'C' 'う'
4 'D' 'え'
5 'E' 'お'

こうしたいのです。

SELECT
ID,
NAME,
'あ' AS VALUE
FROM TEST

これだと全て「あ」になってしまいますし…。

可能であればご教授いただけないでしょうか。

コメント

2014年 05月 09日 (16:19)
こんにちは。
イノ(inno)です。

CASE文を使えばできます。
もしくはJOINでもできますが、今回はCASE文を利用する方法を説明します。
下記のSQLを実行してみてください。

-- #### テストテーブル作成
CREATE TABLE dbo.Test
(
[ID] int
,[NAME] varchar(10)
)

-- #### テストデータ登録
INSERT INTO dbo.Test
SELECT 1, 'A' UNION ALL
SELECT 2, 'B' UNION ALL
SELECT 3, 'C' UNION ALL
SELECT 4, 'D' UNION ALL
SELECT 5, 'E'

-- #### 結果SQL
SELECT [ID], [NAME]
, CASE [NAME]
WHEN 'A' THEN N'あ'
WHEN 'B' THEN N'い'
WHEN 'C' THEN N'う'
WHEN 'D' THEN N'え'
WHEN 'E' THEN N'お'
ELSE '' END AS [VALUE]
FROM dbo.Test

-- #### 結果
IDNAMEVALUE
1Aあ
2Bい
3Cう
4Dえ
5Eお
フラミア 2014年 05月 09日 (20:29)
ご親切にありがとうございます