Ежедневный отчет по SQL - PullRequest
0 голосов
/ 18 декабря 2011

У меня есть две таблицы, одна income, которая состоит из ID, income_amount и date другой - expenses, то есть ID, amount_spent и date.

Я пытаюсь отобразить таблицу с тремя столбцами: ежедневную общую сумму дохода, ежедневную общую сумму и дату для этого дня. Возможно, что в этот день не будет дохода или суммы, но не обязательно оба.

Мне удалось отобразить таблицу в Visual C #, собрав их в отдельные таблицы и получив результаты программным путем, но есть ли способ достичь этой таблицы с помощью всего одного SQL-запроса?

1 Ответ

0 голосов
/ 18 декабря 2011

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.

...