MySql LEFT JOIN只从另一个表中返回一个NULL行
问题描述:
我在MySql中有两个表。 表1:MySql LEFT JOIN只从另一个表中返回一个NULL行
id account_no
1 123
2 124
3 125
4 126
5 127
表2:
id amount
1 200
1 300
2 400
3 300
2 100
我所需的输出是:
account_no total_amount
123 500
124 500
125 300
126 0
127 0
我的查询如下
SELECT a.account_no AS 'account_no', IFNULL(SUM(b.amount),0) AS 'total_amount'
FROM table1 a
LEFT JOIN table2 b
ON a.id = b.id
GROUP BY b.id ORDER BY a.account_no
但与此查询我越来越多y this
account_no total_amount
123 500
124 500
125 300
126 0
任何人都可以帮助我吗?
答
试试这个。
SELECT a.account_no AS 'account_no', IFNULL(SUM(b.amount),0) AS 'total_amount'
FROM table1 a
LEFT JOIN table2 b
ON a.id = b.id
GROUP BY a.account_no ORDER BY a.account_no
相反的b.bid
,它只有3
独特价值组使用a.account_no
,这将有所有唯一的帐户。
让我知道任何查询。 :)
答
查询是完美的,除了group by子句,
SELECT a.account_no AS 'account_no', IFNULL(SUM(b.amount),0) AS 'total_amount'
FROM table1 a
LEFT JOIN table2 b
ON a.id = b.id
GROUP BY a.account_no ORDER BY a.account_no
LEFT JOIN返回左表中的所有数据,与空如果右表中没有数据,使用组时,你需要给从左表的关键列,因为组通过获得独特的行
请看看,让我知道是否有任何问题。
谢谢 艾米特
谢谢。这有助于:) – rin2