我的sql查询如下
IF @StatusId = 10
BEGIN
SELECT
*
FROM
Risk AS R
INNER JOIN Statuses AS St ON R.Status_Id=St.Status_Id
WHERE
R.MitigationOwner = COALESCE(@MitigationOwner,R.MitigationOwner)
AND R.RiskFactor = COALESCE(@RiskFactor,R.RiskFactor)
AND R.RiskArea = COALESCE(@RiskArea,R.RiskArea)
AND R.AddedWhen BETWEEN
COALESCE(CONVERT(DATETIME, @StartDate+'00:00:00',120),R.AddedWhen) AND
COALESCE(CONVERT(DATETIME,@EndDate+'23:59:59',120),R.AddedWhen)
END
当我只传递状态 ID 并且所有其他变量为空时,不显示具有 NULL MitigationOwner 或 ModifiedDate 的记录。这个查询有什么问题?