Essentiellement, on fait un SELECT sur un autre SELECT (d'où le terme de requête imbriquée).
Le premier SELECT externe, soit SELECT count(nombre) va aller puiser ses données dans le résultat de la requête interne, soit SELECT * FROM event à la place d'une table normale.
Cependant, comme la requête interne n'a pas de nom officiel, il faut lui donner un alias afin que la requête externe puisse y faire référence, d'où le "AS tblCeQueTuVeux" qui permet ultimement de dire qu'on est en train de faire référence aux champs de la requête interne grâce à la syntaxe tblCeQueTuVeux.champQuelconque
De plus, sur ta requête, tu as un petit problème avec la requête interne. Cette ligne:
(SELECT * FROM event WHERE etat = 'publique' OR etat = 'prive') AS $id_event on inscriptevent.id_event = $id_event) as $id_event
Devrait plutôt être:
1 2
|
(SELECT * FROM event WHERE etat = 'publique' OR etat = 'prive') AS tblCeQueTuVeux |
L'alias que tu donnes à ta requête doit être FIXE, STATIQUE, n'utilises pas de nom de variable ici, ça ne fonctionnera pas.
Bon, je crois que c'est tout. Si tu as d'autres questions, n'hésite pas
Partager