uniqueidentifier несовместим с ошибкой int - PullRequest
0 голосов
/ 15 июня 2011

Это мой оператор Select в моей хранимой процедуре, я пытаюсь получить все случаи, основываясь только на начальной дате, введенной пользователем.Я продолжаю получать «уникальный идентификатор несовместим с int».Не уверен, как это сделать.

(
            SELECT COUNT(DISTINCT C.CaseID)
            FROM [Case] C
            INNER JOIN CaseOffice COD ON C.CaseId = COD.CaseId
            INNER JOIN Office OD ON COD.OfficeId = OD.OfficeId
            WHERE C.DateCreated <= @BeginDate AND  OD.OfficeId = O.OfficeId
            AND C.CaseId NOT IN
            (
                SELECT CaseId 
                FROM CaseStatusChange CSC
                WHERE CSC.DateClosed < @BeginDate
            )
            UNION
            SELECT ReOpened.CaseId FROM
            (
                SELECT C.CaseId, MAX(CSC.DateReopened) AS DateReOpened 
                FROM [Case] C 
                INNER JOIN [CaseStatusChange] CSC ON C.CaseId = CSC.CaseId
                WHERE CSC.DateReopened <= @BeginDate
                GROUP BY C.CaseId
            ) ReOpened 
            WHERE ReOpened.CaseId NOT IN -- Wasn't reopened and closed 
            (
                SELECT CaseId FROM CaseStatusChange 
                WHERE CaseId = ReOpened.CaseId AND 
                CaseStatusChange.DateClosed BETWEEN ReOpened.DateReopened AND @BeginDate
            )
        )AS OpenBeginCases

1 Ответ

0 голосов
/ 15 июня 2011

CaseID является уникальным идентификатором, и вы ОБЪЕДИНЯЕТЕ это с COUNT (DISTINCT C.CaseID), который будет int

...
SELECT COUNT(DISTINCT C.CaseID) --int
...
UNION
...
SELECT ReOpened.CaseId --uniqueidentifier 
...

Так что можно ожидать этой ошибки. Вам нужен COUNT в первом предложении?

...