我有两张表,一张是income
由 组成的ID
,
另一张是由income_amount
和组成的。date
expenses
ID
amount_spent
date
我正在尝试显示一个包含三列的表格,即每日总收入、每日总金额和当天的日期,当天可能没有收入或金额,但不一定两者兼而有之。
我能够通过将它们收集在单个表中并以编程方式派生结果来在可视化 c# 中显示表,但是有没有办法只用一个 sql 查询来实现该表?
我有两张表,一张是income
由 组成的ID
,
另一张是由income_amount
和组成的。date
expenses
ID
amount_spent
date
我正在尝试显示一个包含三列的表格,即每日总收入、每日总金额和当天的日期,当天可能没有收入或金额,但不一定两者兼而有之。
我能够通过将它们收集在单个表中并以编程方式派生结果来在可视化 c# 中显示表,但是有没有办法只用一个 sql 查询来实现该表?
trunc_to_day
这是一个将日期截断为当天的假设函数(您没有指定您正在使用的 RDMBS):
select sum(incomes), sun(spent), day from (
(select income_amount incomes, 0 spent, trunc_to_day(datecol) day from income_table)
union all
(select 0 incomes, amount_spent spent, trunc_to_day(datecol) day from spent_table)
) group by day;
最后,如果你想限制在某些天,使用一个where
声明就可以了。