Trier 3 tables MySQL
Fermé
CicinhoRaul
Messages postés
221
Date d'inscription
lundi 18 juin 2007
Statut
Membre
Dernière intervention
16 janvier 2009
-
14 janv. 2009 à 12:34
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 - 14 janv. 2009 à 17:05
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 - 14 janv. 2009 à 17:05
A voir également:
- Trier 3 tables MySQL
- Excel trier par ordre croissant chiffre - Guide
- Picasa 3 - Télécharger - Albums photo
- Tables des matières word - Guide
- Mysql community server - Télécharger - Bases de données
- Photorecit 3 - Télécharger - Visionnage & Diaporama
10 réponses
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
14 janv. 2009 à 13:07
14 janv. 2009 à 13:07
Bonjour,
Que te retourne la requête suivante ?
Cordialement,
Que te retourne la requête suivante ?
select * from sports sp, cinema c, societe so where sp.id_entreprise = so.id_entreprise and so.id_entreprise = c.id_entreprise group by so.id_entreprise order by so.nom_societe
Cordialement,
mikebzh
Messages postés
127
Date d'inscription
samedi 20 décembre 2008
Statut
Membre
Dernière intervention
11 mars 2009
28
14 janv. 2009 à 13:07
14 janv. 2009 à 13:07
Salut
Regarde ta requête, elle est bizarre
[req]
SELECT * FROM (SELECT * FROM xxxx WHERE yyyy ORDER BY zzzzz);
[\req]
Pourquoi ton premier SELECT ?
Regarde ta requête, elle est bizarre
[req]
SELECT * FROM (SELECT * FROM xxxx WHERE yyyy ORDER BY zzzzz);
[\req]
Pourquoi ton premier SELECT ?
CicinhoRaul
Messages postés
221
Date d'inscription
lundi 18 juin 2007
Statut
Membre
Dernière intervention
16 janvier 2009
7
14 janv. 2009 à 14:53
14 janv. 2009 à 14:53
SLt , merci de vos reponses, oui mikebzh je me suis trompé en faisant un double select, inutile !
Ensuite, Marco, j'ai essayé ta commande, elle n'affiche qu'une seule ligne
J'ai pourtant au moins 1 element dans chacune des tables sport et cinema :S
Mais je vais continuer à creuser ;)
Merci de vos aides
Ensuite, Marco, j'ai essayé ta commande, elle n'affiche qu'une seule ligne
J'ai pourtant au moins 1 element dans chacune des tables sport et cinema :S
Mais je vais continuer à creuser ;)
Merci de vos aides
CicinhoRaul
Messages postés
221
Date d'inscription
lundi 18 juin 2007
Statut
Membre
Dernière intervention
16 janvier 2009
7
14 janv. 2009 à 15:33
14 janv. 2009 à 15:33
Helas ca ne fonctionne pas :S:S J'ai verifier en enlevant soit la table CINEMA soit la table SPORT c'est OK mais en mettant les deux, plus rien n'apparait.
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
14 janv. 2009 à 15:45
14 janv. 2009 à 15:45
C'est parce que tes deux tables sports et cinéma ne sont pas toujours reliés reliés à une société (ou alors un sport est lié à une société, un cinéma à une société, mais les deux ne sont pas liés à une même société).
Peux-tu traduire en français, explicitement, ce que tu souhaites faire de manière fonctionnelle stp ? Décrire un peu ta problématique, sans parler d'informatique.
Merci,
Peux-tu traduire en français, explicitement, ce que tu souhaites faire de manière fonctionnelle stp ? Décrire un peu ta problématique, sans parler d'informatique.
Merci,
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
CicinhoRaul
Messages postés
221
Date d'inscription
lundi 18 juin 2007
Statut
Membre
Dernière intervention
16 janvier 2009
7
14 janv. 2009 à 15:52
14 janv. 2009 à 15:52
Slt Marco,
Le but c'est d'afficher tous les contacts triés par société.
Exemple de contacts :
Sport : Toto,Yahoo,Football
Cinema : Titi,Pathé,Titanic un autre contact Cinema : Tutu,Yahoo,Rrrrr
En faisant le select par tri de l'entreprise :
Pathé Titi Titanic
Yahoo Toto Foot
Yahoo Tutu Rrrr
Si Tutu n'apparaissait pas alors on aurait comme tri :
Pathé Titi Titanic
Yahoo Toto Foot
Evidemment il y a les ID qui sont reliés comme j'ai dit au-dessus.
Voila jespere que j'ai été clair :S, MERCI de TON AIDE.
Le but c'est d'afficher tous les contacts triés par société.
Exemple de contacts :
Sport : Toto,Yahoo,Football
Cinema : Titi,Pathé,Titanic un autre contact Cinema : Tutu,Yahoo,Rrrrr
En faisant le select par tri de l'entreprise :
Pathé Titi Titanic
Yahoo Toto Foot
Yahoo Tutu Rrrr
Si Tutu n'apparaissait pas alors on aurait comme tri :
Pathé Titi Titanic
Yahoo Toto Foot
Evidemment il y a les ID qui sont reliés comme j'ai dit au-dessus.
Voila jespere que j'ai été clair :S, MERCI de TON AIDE.
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
14 janv. 2009 à 16:06
14 janv. 2009 à 16:06
Oui, mais ici tes tables cinema et sport n'ont aucune liaison entre elles, il faut que tu fasses deux requêtes différentes.
Cordialement,
Cordialement,
CicinhoRaul
Messages postés
221
Date d'inscription
lundi 18 juin 2007
Statut
Membre
Dernière intervention
16 janvier 2009
7
14 janv. 2009 à 16:06
14 janv. 2009 à 16:06
En mettant un OR à la place du AND dans ta commande MySQL, j'obtiens les deux entreprises mais les nom prenom et le reste sont identiques :(:(
CicinhoRaul
Messages postés
221
Date d'inscription
lundi 18 juin 2007
Statut
Membre
Dernière intervention
16 janvier 2009
7
14 janv. 2009 à 16:16
14 janv. 2009 à 16:16
Mais en mettant deux requetes différentes, je n'obtiendrai un tri par table Cinema puis Sport ou inversement mais pas par entreprise.
Je sais si je suis comprehensible :S
Merci en tous cas de ta disponibilité
Je sais si je suis comprehensible :S
Merci en tous cas de ta disponibilité
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
14 janv. 2009 à 16:36
14 janv. 2009 à 16:36
Si, tu pourras trier par entreprise.
C'est juste que comme tu devras assembler tes deux résultats, qui seront chacun trié par entreprise, une simple concaténation ne suffira pas pour trier l'ensemble.
Il faut bien rester conscient que le SQL est un langage de requête, ce n'est pas conçu pour faire de l'affichage. Tous les langages implémentent des méthodes de tri pour justement subvenir à ce genre de besoin.
C'est juste que comme tu devras assembler tes deux résultats, qui seront chacun trié par entreprise, une simple concaténation ne suffira pas pour trier l'ensemble.
Il faut bien rester conscient que le SQL est un langage de requête, ce n'est pas conçu pour faire de l'affichage. Tous les langages implémentent des méthodes de tri pour justement subvenir à ce genre de besoin.
CicinhoRaul
Messages postés
221
Date d'inscription
lundi 18 juin 2007
Statut
Membre
Dernière intervention
16 janvier 2009
7
14 janv. 2009 à 16:45
14 janv. 2009 à 16:45
Ok Marco mais je ne vois pas comment faire le tri si tu pouvais m'aider s'il te plait :
Car ici j'ai les deux requetes
$sql = "SELECT * FROM sport sp WHERE sp.id_entreprise = so.id_entreprise";
$sql1= "SELECT * FROM cinema sp WHERE c.id_entreprise = so.id_entreprise";
Apres il faut que j'essaie d'assembler les deux.
Car ici j'ai les deux requetes
$sql = "SELECT * FROM sport sp WHERE sp.id_entreprise = so.id_entreprise";
$sql1= "SELECT * FROM cinema sp WHERE c.id_entreprise = so.id_entreprise";
Apres il faut que j'essaie d'assembler les deux.
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
14 janv. 2009 à 16:49
14 janv. 2009 à 16:49
Moi je ferais un :
Et
Après à toi de regrouper les deux résultats.
Cordialement,
select sp.*, so.nom_societe from sport sp, societe so where so.id_entreprise = sp.id_entreprise order by so.nom_societe
Et
select c.*, so.nom_societe from cinema c, societe so where so.id_entreprise = c.id_entreprise order by so.nom_societe
Après à toi de regrouper les deux résultats.
Cordialement,
CicinhoRaul
Messages postés
221
Date d'inscription
lundi 18 juin 2007
Statut
Membre
Dernière intervention
16 janvier 2009
7
14 janv. 2009 à 16:55
14 janv. 2009 à 16:55
Ok Marco, encore merci de ton aide,je vais peut etre te deranger encore, mais j'arrive pas à regrouper les deux :S:S
J'ai pensé a faire un union mais rien ne fonctionne.
J'ai pensé a faire un union mais rien ne fonctionne.
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
14 janv. 2009 à 17:05
14 janv. 2009 à 17:05
Je t'ai dit que ça ne peut pas se faire en SQL.
Tes requêtes retournent des données différentes, SQL ne peut pas les regrouper. Si tes données sont à ce point semblables, la seule manière (mais c'est pas terrible du tout), c'est de les stocker dans une même table.
Ici, il faut que tu utilises php pour trier correctement les ressources retournées par tes deux requêtes.
Cordialement,
Tes requêtes retournent des données différentes, SQL ne peut pas les regrouper. Si tes données sont à ce point semblables, la seule manière (mais c'est pas terrible du tout), c'est de les stocker dans une même table.
Ici, il faut que tu utilises php pour trier correctement les ressources retournées par tes deux requêtes.
Cordialement,