Я пытаюсь создать запрос MySQL для получения баланса (sum(col1)-Sum(col2))
из одной таблицы вместе с именем этого идентификатора пользователя из другой таблицы.
-------
table: user
--------
name userid
Kashif Mehmood U001
Kamran Ahmad33 U004
Junaid Akram U006
-------
table: taccbalance,
--------
userid amountin amountout
U001 5000.00 NULL
U001 NULL 1000.00
U001 10000.00 NULL
U001 NULL 9000.00
U002 10000.00 NULL
U002 NULL 9000.00
U002 5000.00 NULL
U002 NULL 3000.00
-----------------------
запрос для получения баланса:
SELECT userid, SUM(amountin)-SUM(amountout) AS balance
FROM taccbalance
GROUP BY userid;
Однако, если я сделаю соединение с ним, оно не будет работать
SELECT a.name, b.userid, b.balance
FROM user AS a
INNER JOIN
(SELECT userid, SUM(amountin)-SUM(amountout) AS balance
FROM taccbalance GROUP BY userid) AS b
ON a.userid = b.userid;
Он просто вернет только одну строку, скорее он должен вернуть несколько строк.
Может кто-нибудь помочь, пожалуйста?