【发布时间】:2014-11-15 07:49:21
【问题描述】:
有问题要问。当我使用左连接时,即使某些行中有空值,如何列出所有左表以显示数据?
这是我的问题:
SELECT *, SUM(transactions.debit_credit) current_spending
FROM (`budget`) LEFT JOIN `categories` ON `budget`.`category`=`categories`.`idcategory`
LEFT JOIN `user_category` ON `budget`.`category`=`user_category`.`idcategory`
LEFT JOIN `category_transaction` ON `budget`.`category`=`category_transaction`.`idcategory`
LEFT JOIN `transactions` ON `category_transaction`.`idtransaction`=`transactions`.`idtransaction`
WHERE `user_category`.`iduser` = '1'
AND MONTH(transactions.transaction_date) = '11'
GROUP BY `budget`.`idbudget`;
当我删除 AND MONTH(transactions.transaction_date) = '11' 时,查询可以正常工作,接受它会显示所有数据,而不是仅显示 1 个月的交易。
帮助??请??知道怎么做吗??
【问题讨论】:
-
请注意,transaction.transaction_date 属于 TIMESTAMP 数据类型