I have two tables, transactions
and dates
. One date may have one or more transactions. I need to get a list of dates with or without transactions of a specific account (account number 111
below).
select d.the_date, t.account, t.amount from dates as d
LEFT OUTER JOIN transactions as t ON t.tx_date=d.the_date
where t.account=111 AND d.the_date>='2016-01-02' and d.the_date<='2017-12-30'
order by d.the_date;
The issue is that when I specify in the condition t.account=111
I don't get the dates on which account 111 did NOT make any transactions.
Only if I remove from the condition t.account=111
I DO get the dates with no transactions (i.e. the LEFT OUTER JOIN
works). Why does this happen?