情報を取得しようとしているテーブルが 2 つあります。
ログイン テーブル - 従業員のリストを含む
プロジェクト テーブル - プロジェクトを含む
つまり、コピーライターを選択し、それぞれに対して「open_projects」と呼ばれるフィールドを返すサブクエリを実行するクエリを作成しようとしています。これで、以下の sql で作業を開始できます。
select web_login_id,
(select count(project_web_id) from project
where copywriter = web_login_id
and (`status` = 'open' or `status` = 'qual')) as open_projects from login
where roles like '%copywriter%'
and tierLevel like '%c1%'
order by open_projects asc
これは次のようなものを返します。
1982983 3
1982690 22
2987398 5
これに関する問題は、プロジェクトの 5 つまたは 6 つが同じクライアントに属し、キューのような方法で処理されるため、実際には作業されていない場合があることです。
私の質問は、サブクエリがclient_login_idフィールドに基づいてサブセットをグループ化するように上記のSQLを変更する方法です。
このSQLは私に次のエラーを与えます:サブクエリは複数の行を返します
select web_login_id,
(select count(project_web_id) from project
where copywriter = web_login_id
and (`status` = 'open' or `status` = 'qual') group by client_login_id) as open_projects from login
where roles like '%copywriter%'
and tierLevel like '%c1%'
order by open_projects asc