エラーが表示される理由を教えてください。 メッセージ207、レベル16、状態1、プロシージャExtractPDP4FromPDP、行21 無効な列名 'ContainsEX'。SQL 2005ケースステートメント - 無効な列名
次のストアドプロシージャを実行する場合。
CREATE PROCEDURE ExtractPDP4FromPDP
-- Add the parameters for the stored procedure here
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT PDP.*, LEFT(PDPCode,7) AS PDP7, PDP.Obsolete,
PDP.InvestorPDP, PDP.OnlineReport, PDP.ClientSpecific,
ContainsEX = CASE
WHEN(CHARINDEX(Left(PDPCode,5),'EX')>0) THEN 'True'
ELSE 'False'
END, PDP4 =
CASE
WHEN ContainsEX = 'True' THEN 'E' & SUBSTRING(pdpcode,5,3)
ELSE SUBSTRING(pdpcode,6,3)
END
FROM PDP
WHERE (((PDP.Obsolete)='False') AND ((PDP.InvestorPDP)='True') AND
((PDP.OnlineReport)='False') AND ((PDP.ClientSpecific)='False'));
END
GO
あなたはすぐにそれを定義した後文でカラムを使用することはできません事前に