[SQL] compter les éléments distincts dans une requête
Bonjour!
J'ai un problème avec une requête.
Tout d'abord, il s'agit de faire un site répertoriant les concerts d'un chanteur;
voici un shéma d'un partie de ma base
Je souhaite savoir le nombre de pays visités dans une tournée tournée donnée.
Pour cela, je pensais d'abord faire une requête pour lister les pays concernées:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| SELECT tb_concert.id_leg,
tb_leg.id_leg,
tb_leg.id_tournee,
tb_concert.id_salle,
tb_salle.id_salle,
tb_salle.id_ville,
tb_ville.id_ville,
tb_ville.id_pays,
tb_pays.id_pays,
tb_pays.pays
FROM tb_concert, tb_leg, tb_salle, tb_ville, tb_pays
WHERE tb_concert.id_leg = tb_leg.id_leg
AND tb_leg.id_tournee = $id_tour_recherche
AND tb_concert.id_salle = tb_salle.id_salle
AND tb_salle.id_ville = tb_ville.id_ville
AND tb_ville.id_pays = tb_pays.id_pays |
Ensuite et surtout, je pensais utiliser cette requête en sous requête pour compter les pays distincts:
Code:
1 2 3
| SELECT COUNT (DISTINCT tb_pays.id_pays) AS nbr_pays
FROM tb_pays
WHERE tb_pays.id_pays IN ma_requête_ci_dessus |
On peut agencer un count et un distinct comme ça?
Je peux utiliser ma sous requête de cette manière?
Merci !