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
これだと全て「あ」になってしまいますし…。
可能であればご教授いただけないでしょうか。
こんにちは。
イノ(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
-- #### 結果
ID NAME VALUE
1 A あ
2 B い
3 C う
4 D え
5 E お