私はシステム内のすべてのユーザーを含むユーザーテーブルと、システム内のユーザーが実行したすべての操作を含む他のテーブルを持っています。取得私は、ユーザーがアクションを数えることができると私は一人のユーザのための任意のアクションが00を含む数が異なる行の2つのテーブルを結合するpostgres
私の二つのテーブルを取得していない場合は、クエリです:
: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
私はtryied:
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
しかし、いつも私は、このエラーを与えている:
ERROR: more than one row returned by a subquery used as an expression SQL state: 21000
それを行う方法についての任意のアイデアを?
あなたのソリューションは正常に動作しますが、遅いですが、それは良いことです。どうもありがとう –