Я новичок в PostgreSQL, и я застрял в следующих запросах.
Желаемый результат будет
id | name | address | description | employees
1 | 'company1' | 'asdf' | 'asdf' | [{id: 1, name: 'Mark'}, {id: 2, name: 'Mark'}, {id: 3, name: 'Steve'}, {id: 4, name: 'Mark'}]
2 ...
3 ...
5 | 'company5' | 'asdf | 'adsf' | []
Мой текущий запрос (который не работает)
SELECT companies.* ,employees.*,json_agg(companies_employees.*) as "item"
FROM
companies_employees
JOIN companies ON companies_employees.COMPANY_id = companies.ID
JOIN employees ON companies_employees.EMPLOYEE_id = employees.ID
GROUP BY companies.ID, companies.NAME, companies.ADDRESS,companies.DESCRIPTION,employees.ID, employees.NAME
Есть 3 таблицы:
companies : ID, NAME, ADDRESS, DESCRIPTION
employees : ID, NAME, SALARY, ROLE
companies_employees : EMPLOYEE_ID, COMPANY_ID
(CONSTRAINT companies_employees_employee_fkey FOREIGN KEY(employee_id) REFERENCES employees(id),
CONSTRAINT companies_employees_company_fkey FOREIGN KEY(company_id) REFERENCES companies(id) )
Пример таблицы [http://sqlfiddle.com/#!15/27982/29][here]
Возможно, «GROUP BY» не подходит для использования.
Не могли бы вы направить меня в правильном направлении?Большое спасибо заранее