1
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
alter procedure [dbo].[Test7]
@Manufacturer nvarchar(20),
@literatureType nvarchar(20),
@languageCode nvarchar(20),
@modelCode nvarchar(20),
@modelYear nvarchar(20)
as
begin
select PartNum.PartNumber, ToolTip.EngText, ToolTip.FrenchText
from
(
SELECT distinct PMYM.PartNumber
FROM ProductModelYearMapping PMYM
left outer join ProductMaster PM
on PMYM.PartNumber=PM.PartNumber
left outer join ProductLiteratureType PLT
on PM.LiteratureType = PLT.Code
left outer join Model M
on PMYM.ModelCode = M.ModelCode
) as PartNum
LEFT OUTER JOIN
(
select PartNumber, EngText, FrenchText
from ToolTip
) as ToolTiP
on PartNum.PartNumber = ToolTiP.PartNumber
WHERE (
(@Manufacturer IS NULL OR M.Manufacturer = @Manufacturer) AND
(@literatureType IS NULL OR PM.LiteratureType = @literatureType) AND
(@languageCode IS NULL OR PM.LanguageCode = @languageCode) AND
(@modelCode IS NULL OR PMYM.ModelCode = @modelCode) AND
(@modelYear IS NULL OR PMYM.startyear <= @modelYear AND PMYM.endyear >= @modelYear)
)
END
我想加入一個帶有結果集的表,並且結果必須根據我做出的某些選擇進行過濾。這就是我使用where子句的原因。但我似乎得到這個錯誤。任何幫助將不勝感激。無法綁定多部分標識符(加入結果集)
您的WHERE子句是從子查詢中引用標識符。您必須將WHERE移動到子查詢中,或者需要包含這些列並更改引用。 – Taryn 2015-01-15 16:36:51
@bluefeet:謝謝:)解決了這個問題。 :) – user2272525 2015-01-15 16:48:31