Stored procedures uniqueidentifier与int错误不兼容
这是我存储过程中的Select语句,我正试图根据用户输入的开始日期获取所有案例。我不断得到“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 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我们的查询是错误的,这是一个不同的问题:它是有效的,没有错误,只是错误的数据。