我正在尝试使用T-SQL CASE
语句中的SELECT
消除零错误。出于某种原因,我不断收到错误。这是我的逻辑。
SELECT
CASE
WHEN tb1.wpf = 0.000 THEN '0.000'
ELSE SUM(tb2.weight/tb1.wpf)
END AS Average
FROM Table1 tb1, table2 tb2
GROUP BY tb1.wpf
我没有包含联接和我的所有逻辑来保持我的问题具体到这个案例。我怎样才能摆脱这个错误?
答案 0 :(得分:1)
CASE
将应用于聚合,而不是单个位。试试这个:
SELECT SUM(Average) FROM (
SELECT
CASE
WHEN tb1.wpf = 0 THEN 0
ELSE tb2.weight / tb1.wpf
END AS Average
FROM Table1 tb1, table2 tb2
) a