2 inner join avec group by
Bonjour,
Ma requête origine qui me permet de récupérer mes catégorie et sous catégorie
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
$requete = $bdd->query('
SELECT
id,
C.categ,
C.sous_categ,
N.nb_sous_categ
FROM
categorie C
INNER JOIN (
-- Nombre de sous-catégories par catégorie
SELECT categ, COUNT(*) AS nb_sous_categ
FROM categorie
WHERE id != 1
GROUP BY categ
) N
ON C.categ = N.categ
ORDER BY
N.nb_sous_categ DESC,
C.categ ASC,
C.sous_categ ASC
'); |
j'ai modifier pour récupérer des photos pour chaque catégorie... donc je les récupères sur ma table annonce mais maintenant je vois les doublons des sous catégorie.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
$requete = $bdd->query('
SELECT
C.id,
C.categ,
C.sous_categ,
N.nb_sous_categ,
D.categorie,
D.photo
FROM
categorie C
INNER JOIN (
-- Nombre de sous-catégories par catégorie
SELECT categ, COUNT(*) AS nb_sous_categ
FROM categorie
WHERE id != 1
GROUP BY categ
) N
ON C.categ = N.categ
INNER JOIN
annonce D
ON C.categ = D.categorie
ORDER BY
N.nb_sous_categ DESC,
C.categ ASC,
D.categorie ASC,
C.sous_categ ASC
'); |
comment faire pour ne plus avoir les doublons, ça doit être avec group by mais je ne vois pas ou le mettre (Pas doué avec les jointure)?