[MySQL] - Requete
Résolu
bacchuss
Messages postés
1165
Statut
Membre
-
crabs Messages postés 909 Statut Membre -
crabs Messages postés 909 Statut Membre -
Bonjour
voila mon probleme SQL (MySQL):
j'ai 2 tables (j'ai fait tres court, y a plein d'autres tables et champs)
SELECT A, t1.E, t2.E
FROM machin, truc t1, truc t2
WHERE machin.B = t1.D
AND machin.C = t2.D
pour toto, je sais bien faire.
Par contre, pour titi, je me prends la tete
Quelqu'un sait ?
Merci
voila mon probleme SQL (MySQL):
j'ai 2 tables (j'ai fait tres court, y a plein d'autres tables et champs)
machin truc +-----+-----+-----+ +---+-----+ | A | B | c | | D | E | +-----+-----+-----+ +---+-----+ |toto | 1 | 2 | | 1 | 4.3 | |titi | 1 |NULL | | 2 | 5.1 | | | | | | | | resultat desire: +-----+-----+-----+ |toto | 4.3 | 5.1 | +-----+-----+-----+ |titi | 4.3 | | +-----+-----+-----+
SELECT A, t1.E, t2.E
FROM machin, truc t1, truc t2
WHERE machin.B = t1.D
AND machin.C = t2.D
pour toto, je sais bien faire.
Par contre, pour titi, je me prends la tete
Quelqu'un sait ?
Merci
A voir également:
- [MySQL] - Requete
- Mysql community server - Télécharger - Bases de données
- Erreur de requete facebook - Forum Facebook
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
- 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
- Mysql fatal error ✓ - Forum MySQL
4 réponses
Salut,
les jointures ignorent les NULL. Il faut regarder du coté de LEFT JOIN.
(Valider avec la version 4.0.23a de mysql)
Je sais pas si on peut imbriquer les 'left join à l'infini. Par contre ça va mettre
à genou ton serveur mysql si les tables machin et truc sont conséquentes.
Faut bien penser à mettre 'D' comme clé primaire unique de 'truc' ou comme
index.
A+, crabs
les jointures ignorent les NULL. Il faut regarder du coté de LEFT JOIN.
select A,t1.E,t2.E from machin left join truc as t1 on B=t1.D left join truc as t2 on C=t2.D
(Valider avec la version 4.0.23a de mysql)
Je sais pas si on peut imbriquer les 'left join à l'infini. Par contre ça va mettre
à genou ton serveur mysql si les tables machin et truc sont conséquentes.
Faut bien penser à mettre 'D' comme clé primaire unique de 'truc' ou comme
index.
A+, crabs
arf, j'essayais en mettant des + comme en oracle moi
merci je vais essayer ca.
Par contre mes tables ne sont pas grosses (1000 lignes env) donc ca devrait passer pour mon serveur
merci je vais essayer ca.
Par contre mes tables ne sont pas grosses (1000 lignes env) donc ca devrait passer pour mon serveur
bon apparemment ca marche.
Par contre, si je veux pousser un peu plus loin, c'est a dire mettre un filtre sur mon resultat, il ne le prend pas en compte
Je pensais que ca ne me retournerai qu'une ligne (celle avec titi), et bien non ... il me retourne toutes les lignes
:(
Par contre, si je veux pousser un peu plus loin, c'est a dire mettre un filtre sur mon resultat, il ne le prend pas en compte
select A,t1.E,t2.E from machin left join truc as t1 on B=t1.D left join truc as t2 on C=t2.D where A = "titi"
Je pensais que ca ne me retournerai qu'une ligne (celle avec titi), et bien non ... il me retourne toutes les lignes
:(