Stored procedures uniqueidentifier与int错误不兼容

Stored procedures uniqueidentifier与int错误不兼容,stored-procedures,Stored Procedures,这是我存储过程中的Select语句,我正试图根据用户输入的开始日期获取所有案例。我不断得到“uniqueidentifier与int不兼容”。我不知道该怎么办 ( SELECT COUNT(DISTINCT C.CaseID) FROM [Case] C INNER JOIN CaseOffice COD ON C.CaseId = COD.CaseId INNER JOIN Office OD ON

这是我存储过程中的Select语句,我正试图根据用户输入的开始日期获取所有案例。我不断得到“uniqueidentifier与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
(
选择计数(不同的C.CaseID)
来自[案例]C
C.CaseId上的内部连接CaseOffice COD=COD.CaseId
COD.OfficeId=OD.OfficeId上的内部连接办公室OD

其中C.DateCreatedCaseID是uniqueidentifier,您可以将其与COUNT(DISTINCT C.CaseID)合并,COUNT将为int

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

因此,这个错误是意料之中的。您需要第一个子句中的计数吗?

我想根据开始日期计算有多少未决案例。我删除了union并将其作为第一个COUNT子句执行,但我对该列的所有返回值都是0。您询问了一个错误:我告诉过您为什么会发生。计数为零意味着y我们的查询是错误的,这是一个不同的问题:它是有效的,没有错误,只是错误的数据。