アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下のようなストアドでac_valueのcase文3の時は'ZZZ'のところに
ac_testの値を入れたいのですが、どうすればよろしいでしょうか?
SQLServer2000です。
よろしくお願い致します。

CREATE PROCEDURE usp_testA
AS
BEGIN
SELECT
A.filed1,
A.filed2,
(CASE A.filed3
WHEN 1 THEN 'SSS'
ELSE 'TTT'
END
)ac_test,
B.filed1,
(CASE B.filed5
WHEN 1 THEN 'WWW'
WHEN 2 THEN 'XXX'
WHEN 3 THEN 'ZZZ'
)ac_value

FROM
Ytable A
Wtable B
WHERE
・・・・・・
END
GO

A 回答 (1件)

サブクエリを好まないかもしれないので


少し冗長ではありますが
CREATE PROCEDURE usp_testA
AS
BEGIN
SELECT
A.filed1,
A.filed2,
(CASE A.filed3
WHEN 1 THEN 'SSS'
ELSE 'TTT'
END
)ac_test,
B.filed1,
(CASE
WHEN B.filed5 = 1 THEN 'WWW'
WHEN B.filed5 = 2 THEN 'XXX'
WHEN B.filed5 = 3 AND A.filed3 = 1 THEN 'SSS'
WHEN B.filed5 = 3 THEN 'TTT'
ELSE '???' END
)ac_value
・・・

というのはいかが?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す