我想 Build 一个这样的表:
brief summary
两个表中的所有列 .
由DISTINCT日行排序 .
汇总每天所有到期付款 NAEDO
表
总结每天所有成功/不成功的付款 . paysoft
表
当天支付的总额
当天的优秀总数
此网格中表示两个表 .
您已付款 [NAEDO]
并且您已付款/或已付款 [paysoft]
每天都有多个事务,并且网格按天分组,当天在该行中汇总事务 .
FIDDLE 与测试数据
我尝试了一下,但我正在努力加入两张 table .
SELECT
n.day,
n.ACCOUNTS,
ammount
FROM
(
SELECT DISTINCT start_date, extract(day from start_date) as day, count(*)as ACCOUNTS, sum(amount)as ammount
FROM NAEDO
WHERE start_date >= '2014-08-13' AND start_date <= '2014-09-12'
GROUP BY start_date
ORDER BY start_date
) n
LEFT JOIN
(
????
) ps ON ps. = ps.custno
GROUP BY start_date, n.day, n.ACCOUNTS, ammount
ORDER BY start_date
因此,此查询(没有第二个空白的查询)创建行并输入当天到期的应付金额和当天到期的帐户金额 .
但是试图加入这些表格会让我的选择失败
请帮助或指导我实现结果 .
1 回答
如果我需要DISTINCT,并且您的连接条件错误 . 看起来你对此并不感兴趣 . 相反,您需要加入日期(
n.start_date = ps.pay_date
) . 我稍微更新了您的代码,以显示我认为您希望您的加入如何工作 .这不会从
amt_paid
排除失败的付款,但它应该让您开始 . 以这种方式构建查询也会导致计算帐户数量时出现问题 . 如上所述,它仅计算在特定日期应付款项的帐户数量 . 它可以很容易地更改为包括在特定日期付款的帐户,但之后您可能会将某些帐户计入两次 .