Tôi đang gặp lỗi "Lỗi định danh nhiều phần không thể bị ràng buộc" trên một quy trình được lưu trữ mà tôi hiện đang làm việc. Tôi có một số câu hỏi liên quan đến truy vấn bên dưới.Điều khoản đầu ra: Mã định danh nhiều phần không thể bị ràng buộc
- Tại sao tôi gặp phải lỗi này?
- Tại sao lỗi này xảy ra vào ImportFundingDateTime thay vì FloorplanId do cả hai đều đến từ cùng một truy vấn, nhưng FloorplanId được liệt kê đầu tiên trong mệnh đề đầu ra?
- Tôi có thể điều chỉnh truy vấn này để không gặp lỗi trong khi vẫn giữ cấu trúc chung giống nhau không?
.
DECLARE @Results Table(
[FloorPlanId] UNIQUEIDENTIFIER,
[ImportFundingDateTime] DATETIME,
[TimeStamp] VARBINARY(8),
[BusinessId] UNIQUEIDENTIFIER
)
UPDATE CacRecord
SET MatchFound = 1
OUTPUT fp.[FloorplanId], cr.[ImportFundingDateTime],
fp.[TimeStamp], buyer.[BusinessId]
INTO @Results( [FloorplanId], [ImportFundingDateTime],
[TimeStamp], [BusinessId])
FROM CacRecord cr WITH (NOLOCK)
INNER JOIN CacBatch cb WITH (NOLOCK)
ON cr.CacBatchId = cb.CacBatchId
INNER JOIN Floorplan fp WITH (NOLOCK)
ON fp.UnitVIN = cr.ImportVin
AND COALESCE(fp.UnitVIN, '') <> ''
INNER JOIN Business buyer WITH (NOLOCK)
ON buyer.BusinessId = fp.BuyerBusinessId
LEFT OUTER JOIN BusinessContact bc WITH (NOLOCK)
ON bc.BusinessId = buyer.BusinessId
LEFT OUTER JOIN Contact c WITH (NOLOCK)
ON c.ContactId = bc.ContactId
WHERE cb.CacJobInstanceId = @cacJobInstanceId
AND fp.FloorplanStatusId = 1 --Approved
AND COALESCE(cr.ImportVin, '') <> ''
AND 1 =
CASE
WHEN cr.ImportFein = buyer.FederalTaxID
AND COALESCE(cr.ImportFein, '') <> '' THEN 1
WHEN cr.ImportSsn = c.Ssn
AND COALESCE(cr.ImportSsn, '') <> '' THEN 1
ELSE 0
END;
Nếu bạn chạy các truy vấn sử dụng 'Chọn fp. [FloorplanId], cr. [ImportFundingDateTime], fp. [Timestamp], người mua. [BusinessID]' và bạn Từ và Trường khoản, nó thực thi mà không lỗi? – Thomas