私はビューのcase文を書くのに助けが必要です。ベーステーブルには、参照するカラムが2つあります: 'ステージ'と 'はい'です。条件付きCASE文の構文
Stageの列が1で、YesNo列が1の場合、ビューに「いいえ」と表示するにはCASE文が必要です。ステージの列が1で、YesNo列が0の場合、ビューに「はい」と表示するにはCASEステートメントが必要です。 Stage列が1で、YesNo列がNULLの場合は、ビューにNULLとして表示するにはCASE文が必要です。 Stageが1以外の場合、ビューにNULLと表示するにはYesNo列が必要です。
これはこれまでの私の論理ですが、正しいと思いますが、実行しようとすると「AS」という言葉の構文エラーが発生します。助言がありますか?あなたはELSE WHEN
を使用している
CASE
WHEN a.Stage = 1 and a.YesorNo = 1 THEN 'No'
ELSE WHEN a.Stage = 1 and a.YesorNo = 0 THEN 'Yes'
END AS NewViewColumn
することができます私はちょうど「YesOrNo」と呼ばれる列を持つと、1が「いいえ」を意味すると、私は少し泣いてしまいます。 –
Mattのコメントに注意して、ネーミング/データスキームを修正することを強くお勧めします。まず、プログラミングでは、1が真を意味し、0が偽を意味する(ほぼ?)普遍的です。これを逆にすることは非常に奇妙であり、コードを読みやすく理解することが非常に困難になります。第二に、あなたのテーブル名 'YesOrNo'について言及していませんが、それは質問ではなく属性であるため、非常に良い列名ではありません。より良い名前は 'IsDeleted'か' NeedsExpressHandling'か 'HasPermission'か明らかにTrue/Falseです。 – Pondlife