【发布时间】:2015-11-04 04:38:42
【问题描述】:
所以我试图从billing_monthly_verizon_charges_detail_archive 返回 12 个月的数据,但如果没有删除条件 verizon.ITEM_DESCRIPTION <> 'Payment Received',我无法找到在没有数据的情况下返回 0 的方法。我明白为什么它没有返回任何数据,但我怎样才能让它在每个月份都返回 0 invoice_date table 并带有条件 - 这是有数据时需要的。
SELECT 'H. Verizon' AS category, CONVERT(VARCHAR(7), id.INVOICE_DATE, 111) AS invoice_date, ISNULL(SUM(verizon.COST), 0.00) AS total_charges
FROM BILLING_MONTHLY_VERIZON_CHARGES_DETAIL_ARCHIVE AS verizon
RIGHT OUTER JOIN
INVOICE_DATES AS id ON verizon.BILL_CYCLE_DATE = id.INVOICE_DATE
WHERE(id.INVOICE_DATE BETWEEN @BillingMonthMinus13 AND @BillingMonth) AND (verizon.ITEM_DESCRIPTION <> 'Payment Received')
GROUP BY id.INVOICE_DATE
【问题讨论】:
标签: tsql conditional-statements outer-join