Estoy corriendo hacia el temido error "El identificador de varias partes no se pudo enlazar" en un procedimiento almacenado en el que estoy trabajando actualmente. Tengo algunas preguntas con respecto a la consulta a continuación.Cláusula de salida: el identificador de varias partes no pudo vincularse
- ¿Por qué me sale este error?
- ¿Por qué se produciría este error en ImportFundingDateTime en lugar de FloorplanId dado que ambos provienen de la misma consulta, pero FloorplanId aparece primero en la cláusula de salida?
- ¿Puedo ajustar esta consulta para no obtener el error manteniendo la estructura general igual?
.
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;
Si ejecuta la consulta usando 'Selección fp. [FloorplanId], Cr. [ImportFundingDateTime], fp. [Timestamp], el comprador. [Business ID]' y sus ya dónde cláusulas, ¿se ejecute sin ¿error? – Thomas