A voir également:
- Requête SQL
- Logiciel sql - Télécharger - Bases de données
- Sql lister les tables ✓ - Forum Programmation
- Requête sql date supérieure à ✓ - Forum Programmation
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Java
7 réponses
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
12 févr. 2009 à 12:24
12 févr. 2009 à 12:24
Votre clause WHERE exprime bien qu'il faut que toutes les conditions soient remplies pour obtenir un résultat, c'est donc elle que vous devez modifier.
Si vous avez des champs à NULL et que cela engage des erreurs, vous pouvez utiliser ceci :
https://docs.microsoft.com/fr-fr/sql/t-sql/functions/isnull-transact-sql?redirectedfrom=MSDN&view=sql-server-ver15
Si vous avez des champs à NULL et que cela engage des erreurs, vous pouvez utiliser ceci :
https://docs.microsoft.com/fr-fr/sql/t-sql/functions/isnull-transact-sql?redirectedfrom=MSDN&view=sql-server-ver15
En fait j'ai peut être mal expliqué.
Voilà, alors en fait, la table robot ne peut pas exister si la table machine_robot n'existe pas, la table machine n'existe pas si logiciel n'existe pas, et ainsi de suite...
service => logiciel => machine => machine_robot => robot
--------- => imprimante
------------------------------------------ =>peripherique
Seulement, je voudrais afficher la table service, même si les autres tables n'existent pas pour le service en question, ou alors afficher les tables service et logiciel, même si les tables suivantes n'existent pas.
Voilà, alors en fait, la table robot ne peut pas exister si la table machine_robot n'existe pas, la table machine n'existe pas si logiciel n'existe pas, et ainsi de suite...
service => logiciel => machine => machine_robot => robot
--------- => imprimante
------------------------------------------ =>peripherique
Seulement, je voudrais afficher la table service, même si les autres tables n'existent pas pour le service en question, ou alors afficher les tables service et logiciel, même si les tables suivantes n'existent pas.
niahoo
Messages postés
247
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
23 mai 2010
19
12 févr. 2009 à 12:48
12 févr. 2009 à 12:48
ben tout dépends de ce que tu compte faire comme programme aussi.
si tu veux afficher différents éléments, tu pourrais fair ça:
afficher les services
pour chaque service, affficher les logiciels
pour chaque logiciel, afficher les machines
etc...
bon certes au lieu de faire une seule requête ça en fait plsusieurs, mais ça devient très modulable.
et ça peut te renvoyer un tableau comme ça
par contre j'ai une question,
tu as plusieurs tables 'logiciels': une par service, ou alors tu as une seule table logiciel qui référence le service avec une clé étrangère.
si tu veux afficher différents éléments, tu pourrais fair ça:
afficher les services
pour chaque service, affficher les logiciels
pour chaque logiciel, afficher les machines
etc...
bon certes au lieu de faire une seule requête ça en fait plsusieurs, mais ça devient très modulable.
et ça peut te renvoyer un tableau comme ça
service1 |--logicielA |--logicielB | |--machine11 service2 service3 |--logiciel34 | |--machinepouic | | |--Robogrillepain | |--machinekikoo | | |--RoboNono
par contre j'ai une question,
tu as plusieurs tables 'logiciels': une par service, ou alors tu as une seule table logiciel qui référence le service avec une clé étrangère.
Oui c'est comme cela que je souhaite faire avec une espèce d'arborescence.
Cependant j'ai pensé qu'une seule requête serait plus simple, car je n'aurai plus qu'à afficher les résultats de la requête, et ce de la manière dont je souhaite? Sinon il faudrait que je fasse plein de boucle de partout, un grand bazar quoi :s
Cependant j'ai pensé qu'une seule requête serait plus simple, car je n'aurai plus qu'à afficher les résultats de la requête, et ce de la manière dont je souhaite? Sinon il faudrait que je fasse plein de boucle de partout, un grand bazar quoi :s
niahoo
Messages postés
247
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
23 mai 2010
19
12 févr. 2009 à 12:53
12 févr. 2009 à 12:53
dans le second cas ce que je te propose est quand même possible .
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
niahoo
Messages postés
247
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
23 mai 2010
19
12 févr. 2009 à 13:04
12 févr. 2009 à 13:04
parfait , ben moi je serais toi j'irais me taper les boucles, certes c'est long, mais ça t'évitera d'avoir un tableau avec pelin de cases vides, ou au contraire plein de cases avec le même nom de service qui se répète en début de ligne pour chaque différent robot a droite de la ligne..
niahoo
Messages postés
247
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
23 mai 2010
19
12 févr. 2009 à 17:41
12 févr. 2009 à 17:41
ben
$sql="SELECT * FROM services"; $rs=mysql_query($sql, $ta_connection); while($ligne=mysql_fetch_assoc($rs)) { // ici tu affiches les données du service $sql2="SELECT * FROM logiciels WHERE numéro_service ='"$ligne["numero_service"]."'"; $rs2=$rs=mysql_query($sql2, $ta_connection); while($ligne2=mysql_fetch_assoc($rs2)) { // ici tu affices les données du logiciel // et aisi de suit, ici select * from machines where numero_logiciel = $ligne2["numero_logiciel"] } }
niahoo
Messages postés
247
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
23 mai 2010
19
12 févr. 2009 à 17:44
12 févr. 2009 à 17:44
voilà mais ça fait bcp de requetes donc ça va planter si t'as 10 000 services.
la solution qui marcherait avec ta requete serait d'utiliser LEFT JOIN mais je n'y connais pas passez, et je sais pas si mysql le comprend
la solution qui marcherait avec ta requete serait d'utiliser LEFT JOIN mais je n'y connais pas passez, et je sais pas si mysql le comprend
12 févr. 2009 à 12:31