J'ai 4 tablesComment utiliser la jointure avec la fonction d'agrégat dans postgresql?
Table1
id | name
1 | A
2 | B
Tableau 2
id | name1
1 | C
2 | D
Table3
id | name2
1 | E
2 | F
Table4
id | name1_id | name2_id | name3_id
1 | 1 | 2 | 1
2 | 2 | 2 | 2
3 | 1 | 2 | 1
4 | 2 | 1 | 1
5 | 1 | 1 | 2
6 | 2 | 2 | 1
7 | 1 | 1 | 2
8 | 2 | 1 | 1
9 | 1 | 2 | 1
10 | 2 | 2 | 1
Maintenant, je veux rejoindre toutes les tables avec 4 et obtenir ce type de sortie
name | count
{A,B} | {5, 5}
{C,D} | {5, 6}
{E,F} | {7, 3}
J'ai essayé
select array_agg(distinct(t1.name)), array_agg(distinct(temp.test))
from
(select t4.name1_id, (count(t4.name1_id)) "test"
from table4 t4 group by t4.name1_id
) temp
join table1 t1
on temp.name1_id = t1.id
Je suis en train de réaliser cet . Tout le monde peut m'aider.
s'il vous plaît baliser le système de base de données appropriée. – Squirrel
okay J'ai édité ma question –
J'ai essayé ceci ... select array_agg (distinct (rt.name)), array_agg (distinct (temp.test)) de (sélectionner f.resource_type_id, (comptage (f.resource_type_id)) "test" de planner.resource_entity f rejoindre planner.resource_type ft sur f.resource_type_id = groupe ft.id par f.resource_type_id) Temp rejoindre planner.resource_type rt on temp.resource_type_id = rt.id –