다음과 같은 SQL 쿼리를 다시 작성하여 결과를 생성하는 방법을 생각해보십시오. (결과는 사용자별로 그룹화 됨).array_agg postgres 함수로 생성 된 중복을 제거하는 방법
쿼리
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에 avaiable이다입니다. 프란 스미스를 포함하면됩니다 SQL 실행 버튼을 클릭하고, 두 번
'array_agg (별개의 CONCAT를 (.. .)))' –
postgre 9.0+에는'string_agg (text, text)'함수가 있습니다. 'string_agg (CONCAT (...), ',')' –
@a_horse_with_no_name distinct가 잘 동작하지만 순서를 뒤섞는 것은 더 쉽습니다. 어떤 방법으로 그것을 보존 할 수 있습니까? – Rodrigo