Любое предложение / решение для этой проблемы?
Не удалось связать идентификатор из нескольких частей "iis.sourceId".
ALTER PROCEDURE [dbo].[InstrumentSourceSnapSelector]
@searchedString nvarchar(100) = null
, @at datetime
AS
BEGIN
DECLARE @sql as nvarchar(4000)
DECLARE @ParmDefinition nvarchar(500);
SET @at=dateadd(MILLISECOND, -datepart(MILLISECOND, @at), isnull(@at,getdate())) --on tronque les ms
CREATE TABLE #TEMP
(
SourceId UNIQUEIDENTIFIER,
instrumentIdentifierId UNIQUEIDENTIFIER,
instrumentId UNIQUEIDENTIFIER,
vacationId UNIQUEIDENTIFIER,
MaxReqTime DATETIME
)
INSERT INTO #TEMP
SELECT
SourceId,
instrumentIdentifierId,
instrumentId,
vacationId,
max(requestTime) as MaxReqTime
FROM
(instrumentSourceSnap inst
INNER JOIN
VacationTask T
ON inst.vacationTaskId = T.id)
GROUP BY
SourceId,instrumentIdentifierId, instrumentId, vacationId
SELECT DISTINCT
iss.id
, i.name AS Name
, s.name AS sourceName
, d.name AS identifier
, ii.value AS identifierValue
, v.name AS Vacation
FROM
instrumentSourceSnap iss
INNER JOIN #TEMP T
ON
T.sourceId = iis.sourceId AND
T.instrumentIdentifierId = iis.instrumentIdentifierId AND
T.instrumentId = iis.instrumentId AND
T.MaxReqTime = iis.ReuqestTime
INNER JOIN vacationTask vt ON vt.id = iss.vacationTaskId
INNER JOIN vacation v ON v.id = vt.vacationId
INNER JOIN instrument i ON i.id = iss.instrumentId
INNER JOIN source s ON s.id = iss.sourceId
INNER JOIN instrumentIdentifier ii ON ii.instrumentId=i.id
INNER JOIN identifier d ON d.Id=ii.identifierId
INNER JOIN instrumentSource si ON si.instrumentId = i.id and si.sourceId = s.id
END
GO