結果を生成するために次のSQLクエリを書き換える方法を考えている人はいますか? (ユーザーごとにグループ化された結果)。
クエリ
SELECT array_to_string(array_agg(CONCAT(u.firstname, ' ', u.lastname)), ', ')
FROM log_has_item logitem
INNER JOIN log log ON log.id = logitem.log_id
INNER JOIN worker u ON log.worker_id = u.id
WHERE logitem.company_id = 1
実行可能なクエリはsqlfiddle.comで利用可能です。 Run SQLボタンをクリックすると、Frantisek Smithを2回含む結果が表示されます
array_agg
内でdistinct
キーワードを使用できます。
SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT CONCAT(u.firstname, ' ', u.lastname)), ', ')
FROM log_has_item logitem
INNER JOIN log log ON log.id = logitem.log_id
INNER JOIN worker u ON log.worker_id = u.id
WHERE logitem.company_id = 1