You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何关联两张月度税表并创建符合要求的SQL视图?

发票税按月统计视图创建方案

需求说明

基于表TumFaturaTbl创建视图,需包含以下内容:

  • MyInvoiceTax:销售发票(FaturaTuru=1)的月度税总额,无对应数据时显示0
  • CustomerInvoiceTax:采购发票(FaturaTuru=0)的月度税总额,无对应数据时显示0
  • Month:月份名称(如"January"),按月份维度分组统计

优化后的SQL视图代码

无需嵌套查询关联,直接用条件聚合即可实现需求,代码简洁且性能更优:

CREATE VIEW InvoiceTaxByMonth
AS
SELECT
    DATENAME(MONTH, Tarih) AS Month,
    ISNULL(SUM(CASE WHEN FaturaTuru = 1 THEN KdvTutari ELSE 0 END), 0) AS MyInvoiceTax,
    ISNULL(SUM(CASE WHEN FaturaTuru = 0 THEN KdvTutari ELSE 0 END), 0) AS CustomerInvoiceTax
FROM TumFaturaTbl
GROUP BY DATENAME(MONTH, Tarih)

代码说明

  1. 条件聚合逻辑:通过CASE语句筛选对应发票类型的KdvTutari字段,再用SUM完成月度总额统计,避免了多次查询和表关联的繁琐操作
  2. 空值处理:ISNULL(..., 0)确保当某类发票当月无数据时,对应字段显示0而非NULL,符合需求要求
  3. 分组统计:直接按月份名称分组,一次扫描表即可完成所有统计,性能优于嵌套查询关联的方式

原尝试的问题分析

你之前的两个单独查询分别统计了两类发票的月度税,但嵌套关联时容易出现月份缺失的问题——比如某类发票当月无数据时,关联后会丢失该月份的完整记录,而条件聚合能保证所有出现过的月份都被统计,且两类数据同属一行展示。

内容的提问来源于stack exchange,提问作者Atici Brk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 19:24:57