不是视图关联,而是这个表格数据源引用的就是视图表,所有字段直接使用视图表字段 视图语句:WITH
运杂费基础数据 AS (
SELECT
本方公司,
业务单位,
SUM(总金额) AS 总金额,
SUM(重量) AS 重量
FROM (
SELECT
本方公司,
收款单位 AS 业务单位,
总金额,
重量
FROM dbo.运杂费用表
WHERE 单据状态 <> '作废'
) AS t
GROUP BY 本方公司, 业务单位
),
付款数据汇总 AS (
SELECT
pz.本方公司,
p.业务单位,
SUM(CASE WHEN pz.收付款类别 = '付款' AND pz.业务类型 IN( '运杂费付款','其他费用付款') THEN pz.核销金额 ELSE 0 END) AS 付款金额,
SUM(CASE WHEN pz.收付款类别 = '收款' AND pz.业务类型 in( '运杂费退款','其他费用退款') THEN pz.核销金额 ELSE 0 END) AS 退款金额
FROM dbo.付款单_孙表 pz
INNER JOIN dbo.付款单 p ON pz.付款单号 = p.付款单号
WHERE pz.单据状态 <> '作废' and PZ.业务类型 in('运杂费付款','运杂费退款','其他费用付款','其他费用退款')
GROUP BY pz.本方公司, p.业务单位
),
**数据汇总 AS (
SELECT
f.本方公司,
f.业务单位,
SUM(i.开票含税金额) AS 收票金额,
SUM(i.**重量) AS 收票重量
FROM dbo.**明细表 i
INNER JOIN dbo.**管理 f ON i.系统**编号 = f.系统**编号 and f.**分类 in('其他费用','运杂费用')
WHERE i.单据状态 <> '作废'
GROUP BY f.本方公司, f.业务单位
)
SELECT
a.本方公司,
a.业务单位,
SUM(a.总金额) AS 总金额,
SUM(a.重量) AS 总重量,
SUM(a.总金额 - COALESCE(i.收票金额, 0)) AS 待收票金额,
SUM(COALESCE(i.收票金额, 0)) AS 已收票金额,
SUM(COALESCE(p.付款金额, 0)) AS 付款总金额,
SUM(COALESCE(p.退款金额, 0)) AS 退款总金额,
SUM(COALESCE(p.付款金额, 0) - COALESCE(p.退款金额, 0)) AS 实付金额,
SUM(COALESCE(i.收票金额, 0)-COALESCE(p.付款金额, 0) + COALESCE(p.退款金额, 0) ) AS 财务余额,
SUM(a.总金额 - (COALESCE(p.付款金额, 0) + COALESCE(p.退款金额, 0))) AS 业务余额
FROM 运杂费基础数据 AS a
LEFT JOIN 付款数据汇总 AS p ON p.本方公司 = a.本方公司 AND p.业务单位 = a.业务单位
LEFT JOIN **数据汇总 AS i ON i.本方公司 = a.本方公司 AND i.业务单位 = a.业务单位
GROUP BY
a.本方公司,
a.业务单位
ORDER BY a.本方公司, a.业务单位;运行页面提示:
|