我有一个存储过程,它运行两个单独的查询并将数据放入两个临时表中。然后我在下面有一个 IF 语句,根据结果将显示两个表之一。
DECLARE @DATASET1 AS FLOAT
DECLARE @DATASET2 AS FLOAT
SET @DATASET1 = (SELECT SUM(PREM) FROM #Prem1)
SET @DATASET2 = (SELECT SUM(PREM) FROM #Prem2)
IF (@DATASET1 = 0)
BEGIN
SELECT DATE,
SUM(PREM) AS PREM
FROM #DATASET2
GROUP BY YEAR, MONTH, DATE
ORDER BY YEAR, MONTH
END
IF (@DATASET2 = 0)
BEGIN
SELECT DATE,
SUM(PREM) AS PREM
FROM #DATASET1
GROUP BY YEAR, MONTH, DATE
ORDER BY YEAR, MONTH
END
这一直很好,直到我在 dataset1 上找到了一些没有产生 0 但根本没有产生数据的输出。
所以我想知道是否可以将查询的这一部分更新为几乎说:
IF (@DATASET1 = 0 or '')
我已经尝试过类似的方法,但似乎没有用,因此我提出了问题。