CREATE PROCEDURE [dbo].[rpt_Report]
@Product varchar(20) = NULL,
@From DateTime = null,
@To DateTime = null
AS
BEGIN
SELECT
CO.PO, CO.DLVRY,
CASE
WHEN co.CUST_ID = '120' THEN '120'
WHEN HDR.PO_NO LIKE 'CL%' THEN 'CL'
WHEN RED.REU = 'SK' THEN 'STOCK'
WHEN RED.REU = 'SM' THEN 'ORTS'
WHEN co.ITEM = 'PW%' THEN 'CHAIN'
WHEN co.ITEM LIKE 'D%' THEN 'VAN' ELSE 'MISC'
END AS PRODUCT
FROM
co AS co
INNER JOIN
HDR AS HDR ON co.NUMBER = HDR.NUMBER
INNER JOIN
RED AS RED ON co.ITEM = RED.ITEM
WHERE
(co.DLVRY BETWEEN @From AND @To) AND (@Product = PRODUCT)
ORDER BY
co.DLVRY DESC
END
実行するとエラーが発生します
メッセージ207、レベル16、状態1、プロシージャrpt_Report、行34
無効な列名'PRODUCT'。
whereCLAUSEのパラメータとしてcaseフィールド値を使用する必要があります。