У меня есть две таблицы: таблица пользователей, содержащая всех пользователей в моей системе, и другая таблица, называемая действием, со всеми действиями, выполняемыми пользователями в моей системе, я хочу получить запрос, в котором я могу подсчитать действия пользователя и если у меня нет никаких действий для одного пользователя, получите 0.
Мои две таблицы:
Users Table:
Name Place
----------------------
James Supermarket
Alex Bank
Ignatius BookShop
Action table:
Name Action
--------------------
James Buy
James Buy
Alex Complaint
Alex Buy
Alex Buy
Я хочу что-то вроде этого:
Name Transactions Place
-------------------------------
James 2 Supermarket
Alex 3 Bank
Ignatius 0 BookShop
Я пробовал с:
SELECT users.name,
(SELECT Count(action.name)
FROM action,
users
WHERE action.name = users.name
GROUP BY action.name)
users.place
FROM
action,
users
WHERE action.name = users.name
Но всегда дает мне эту ошибку:
ОШИБКА: подзапрос, используемый в качестве выражения, возвращает более одной строки. Состояние SQL: 21000.
Любая идея о том, как это сделать?