Bon me voilà plus vite que prévu.
J'ai fait mes inserts.
--> Table roomType
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| +--------+---------------+---------------------+
| idRoom | roomName | tstamp |
+--------+---------------+---------------------+
| 1 | Chambre | 2012-12-17 16:32:59 |
| 2 | Salle de bain | 2012-12-17 16:33:00 |
| 3 | Cuisine | 2012-12-17 16:33:00 |
| 4 | Salon | 2012-12-17 16:33:00 |
| 5 | Couloir | 2012-12-17 16:33:00 |
| 6 | Cellier | 2012-12-17 16:33:00 |
| 7 | Toilettes | 2012-12-17 16:33:00 |
| 8 | Garage | 2012-12-17 16:33:00 |
| 9 | Terrasse | 2012-12-17 16:33:00 |
| 10 | Jardin | 2012-12-17 16:33:00 |
| 11 | Portail | 2012-12-17 16:33:00 |
| 12 | Autre | 2012-12-17 16:33:00 |
+--------+---------------+---------------------+ |
--> table hard
1 2 3 4 5 6 7
| +--------+------------+-----------+---------------------+-----------------+
| idHard | hardName | hardKey | tstamp | roomType_idRoom |
+--------+------------+-----------+---------------------+-----------------+
| 1 | Sapin | 123456789 | 2012-12-18 21:59:39 | 4 |
| 2 | Guirlandes | 987654321 | 2012-12-18 21:59:39 | 4 |
| 3 | Cuisine | 159753 | 2012-12-18 22:00:02 | 3 |
+--------+------------+-----------+---------------------+-----------------+ |
--> table zone
1 2 3 4 5 6 7
| +--------+----------------------+---------------------+
| idZone | zoneName | tstamp |
+--------+----------------------+---------------------+
| 1 | Lumières Sapin | 2012-12-18 21:56:18 |
| 2 | Lumières cuisine | 2012-12-18 21:56:18 |
| 3 | Lumières guirlandes | 2012-12-18 21:56:55 |
+--------+----------------------+---------------------+ |
Et ma table intermédiaire harZone
1 2 3 4 5 6 7 8
| +-------------+-------------+
| hard_idHard | zone_idZone |
+-------------+-------------+
| 1 | 1 |
| 2 | 1 |
| 2 | 3 |
| 3 | 2 |
+-------------+-------------+ |
J'ai donc dans ma zone "Lumières Sapin" les matériels "Sapin" et "Guirlandes".
Dans ma zone "Lumières cuisine" le matériel "Cuisine"
Dans ma zone "Lumières Guirlandes" le matériel "Guirlandes"
Je voudrai arriver à sortir en une requête l'ensemble des matériels pour chaque zone. Ce serait peut-être plus simple de faire un premier select dans la table zone et ensuite de refaire un select par rapport à chaque idZone dans la boucle pour récupérer les matériels (php). Mais ça ne m'apprendrai rien 
J'ai donc réussi à faire cette requête en furetant sur le net:
select idHard,hardName,hardkey from hardZone hz,hard h where hz.zone_idZone IN (SELECT idZone FROM zone) AND hz.hard_idHard=h.idHard;
Ce qui me renvoi:
1 2 3 4 5 6 7 8
| +--------+------------+-----------+
| idHard | hardName | hardkey |
+--------+------------+-----------+
| 1 | Sapin | 123456789 |
| 2 | Guirlandes | 987654321 |
| 2 | Guirlandes | 987654321 |
| 3 | Cuisine | 159753 |
+--------+------------+-----------+ |
Mais le problème, c'est que je n'ai pas le nom de la zone (zoneName) ni son id (idZone). Normal quoi, puisque nulle part je lui dit de récupérer ces infos. Mais je ne sais pas comment rentrer la condition dans ma requête pour en plus avoir le nom de la zone et son id dans 2 colonnes supplémentaires.
Pouvez-vous me mettre sur la voie ?
Partager