Bonjour à tous.
Dans une application, je liste des éléments issus d'une table 'appareils' avec la requête MySql suivante et cela fonctionne parfaitement.
(les tables familles_appareils et fournisseurs sont négligeables dans l'exposé de mon problème)
Ces appareils sont associables à des éléments d'une table commande (un appareil peut être présent dans plusieurs commandes)
Maintenant je voudrais compléter ma requête pour afficher dans la liste d'appareils le nombre de commandes qui sont associées à cet appareil.
J'ai fait plein d'expérimentations avec des sous-requêtes dans l'interface de php-Myadmin pour tester, mais ça ne fonctionne pas
Je ne sais pas si ce que je veux faire est possible: en fait pour chaque id_app que je récupère dans le déroulement de la requête je voudrais aller chercher le nombre de commandes qui lui correspondent.
Dans une application, je liste des éléments issus d'une table 'appareils' avec la requête MySql suivante et cela fonctionne parfaitement.
(les tables familles_appareils et fournisseurs sont négligeables dans l'exposé de mon problème)
Ces appareils sont associables à des éléments d'une table commande (un appareil peut être présent dans plusieurs commandes)
// cette requête fonctionne parfaitement
$sql_appareils = "SELECT * , (SELECT COUNT(id_app) FROM appareils) as nbr_appareils
FROM appareils as app
INNER JOIN familles_appareils as fam
ON app.id_fam_app = fam.id_fam_app
INNER JOIN fournisseurs as fourn
ON app.id_fourn = fourn.id_labo
ORDER BY app.id_app DESC
LIMIT $current_items , $items_per_page
";
Maintenant je voudrais compléter ma requête pour afficher dans la liste d'appareils le nombre de commandes qui sont associées à cet appareil.
J'ai fait plein d'expérimentations avec des sous-requêtes dans l'interface de php-Myadmin pour tester, mais ça ne fonctionne pas
-- exemple de requête avec une sous-requête qui ne fonctionne pas
SELECT * , (SELECT COUNT(appareils.id_app) FROM appareils) as nbr_appareils
FROM appareils as app ,
(SELECT commandes.id_app,
appareils.id_app, COUNT(commandes.id_app)
FROM commandes, appareils
WHERE commandes.id_app = appareils.id_app) as toto
INNER JOIN familles_appareils as fam
ON app.id_fam_app = fam.id_fam_app
INNER JOIN fournisseurs as fourn
ON app.id_fourn = fourn.id_labo
ORDER BY app.id_app DESC;
Je ne sais pas si ce que je veux faire est possible: en fait pour chaque id_app que je récupère dans le déroulement de la requête je voudrais aller chercher le nombre de commandes qui lui correspondent.