월, 연도 및 보고서 소스에 대한 매개 변수를 설정할 때 영향을 미치지 않습니다. 나는 여전히 프로 시저를 실행할 때 모든 판매를 얻고 있습니다. 아무도 틀린 것을 볼 수 있습니까?저장 프로 시저에서 작동하지 않는 매개 변수
ALTER PROCEDURE [dbo].[ddsDiscount]
@month INT,
@year INT,
@report_source nvarchar
AS
SELECT
isa.identifiers AS ISBN,
isa.sales_date AS DATO,
isa.quantity AS ANTALL,
bk.title AS Tittel,
BV.name AS BUTIKK,
BB.name AS Forlag,
COALESCE(id.sales_price, isa.sales_price) AS SalesPrice
FROM
book_sales AS isa
LEFT JOIN
discount AS id ON isa.identifiers = id.identifiers
AND isa.sales_date BETWEEN id.from_date AND id.to_date
AND Month(isa.sales_date) = @month
AND Year(isa.sales_date) = @year
LEFT OUTER JOIN
books AS BK ON BK.book_id = isa.book_id
LEFT OUTER JOIN
store AS BV ON bv.store_id = isa.store_id
LEFT OUTER JOIN
publisher AS BB ON bb.publisher_id = bk.publisher_id
LEFT OUTER JOIN
book_contributor AS BC ON BC.book_id = isa.book_id
AND isa.report_source = @report_source
첫 번째로 ** 어떤 ** 데이터베이스 **를 사용하고 있습니까? SQL은 단지 쿼리 언어 일뿐입니다 ** 어느 데이터베이스가 SQL을 사용하고 있는지 당신이 프로그래밍하고 있는지 분명하지 않습니다. 둘째 :'nvarchar' ** ** 길이가 없으면 ** 정확히 1 문자 ** 길이의 매개 변수를 (SQL Server에서) 제공합니다 - 의도는 무엇입니까 ?? ** 항상 ** 길이를 지정하는 것이 좋습니다! 'nvarchar() 대신'nvarchar (20)'(또는 무엇이든간에)을 사용하십시오. –
Microsoft SQL Server 2008 R2. Ahv는 nvarchar (255)로되어 있습니다. 아직 작동하지 않습니다. – Lebowski
내 대답보기 - @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@? –