0
ネストされたクエリがある場合、参照の範囲を把握することができませんでした。たとえば、私の内部結合でNoCarsFound.CUを参照できないようです。なぜ私の参加で以前の結果セットを参照することができないのか理解できません...私は、私の内的結合のON比較において、以前の選択結果を参照するか、エイリアスを参照するという範囲を明確にしていないと思います。結合のためにselect内の項目を参照できません
私はまた、あいまいな列名「CU」
を取得するので、私はそれがNoCarsFound.CUを知らないと言ってエラーを得続けます。私はvwInvalidCars.CUのような真っ直ぐなビューを参照しようとしましたが、vwInvalidCarsも理解できませんでした。
create procedure [Rac].[GetCarStatDetails_sp]
@Year int,
@CarTitle varchar(30),
@Company varchar(31),
@CU varchar(12),
@UserName varchar(50)
as
BEGIN
DECLARE @CarMatch table
(
FaceValueTol varchar(100),
FaceValueDesc varchar(100),
Year int,
CU varchar(16),
PaintTypeDesc varchar(50)
)
insert into @CarMatch
Select temp1.FaceValueTol,
temp1.FaceValueDesc,
temp1.Year,
temp1.CU,
temp1.PaintTypeDesc
from Rac.viewCarBase as temp1
join (select Username, userCars.CU from Nep.viewUserCars userCars where UserName = @UserName) as userCars on userCars.CU = temp1.CU
INNER JOIN
(
Select CU,
from Rac.vwCarFactor carfactors
where RiskFactorTypeID not in (334,553,34334,534,7756)
Group by CU
) as temp
on
and temp1.CU = temp.CU
and temp1.PaintTypeDesc = temp.CalcPaintTypeDesc
Where
temp1.RiskFactorTypeID=4
and temp1.[Year][email protected]
and ([email protected] or @CarTitle='<All>')
and ([email protected] or @CU='<All>')
SELECT ProductID_bo,
Coalesce(CarTitle_bo,LTRIM(RTRIM(CarTitle))) as CarTitle,
Coalesce(Company_bo,LTRIM(RTRIM(Company))) as Company,
Coalesce(CU_bo,LTRIM(RTRIM(CU))) as CU
FROM
Rac.viewCarBase as NoCarsFound
join (select Username, userCars.CU from Nep.viewUserCars userCars where UserName = @UserName) as userCars on userCars.CU = NoCarsFound.CU
LEFT OUTER JOIN
(
Select ProductID_bo,
CarTitle_bo,
Company_bo,
CU_bo,
from (
SELECT ProductID as ProductID_bo,
LTRIM(RTRIM(CarTitle)) as CarTitle_bo,
LTRIM(RTRIM(Company)) as Company_bo,
FROM Rac.viewCarBase
join (select Username, userCars.CU from Nep.viewUserCars userCars where UserName = @UserName) as userCars on userCars.CU = Rac.viewCarBase.CU
where ProductID in (Select ProductID from @CarMatch) and
and ([email protected] or @CarTitle='<All>')
and ([email protected] or @Company='<All>')
and ([email protected] or @CU='<All>')
) AS SUB1
Group By
CarTitle_bo,
Company_bo,
CU_bo,
ON
NoCarsFound.CU = CarsFoundDeals.CU_bo
where
and ([email protected] or @CarTitle='<All>')
and ([email protected] or @Company='<All>')
and ([email protected] or @CU='<All>')
end
どうしてですか?なぜCU = @ CUのあいまいなエラーが出るのですか? – PositiveGuy
参照している 'CU'列のテーブルを指定する必要があります。たとえば、 'Rac.viewCarBase'に' CU'カラムがあれば、 'Rac.viewCarBase.CU'に変更します。 –
そうです。他の部分は私がBUを参照しているので、エイリアスやオブジェクトを介して参照していますが、ここでは単純なBUなので、BUはどこから来るのか分かりません。 。 – PositiveGuy