[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
--
__________________________________________
01001001110101001010100101 et plus si affinités
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
--
__________________________________________
01001001110101001010100101 et plus si affinités
A voir également:
- [MySQL] - Requete
- Mysql community download - Télécharger - Bases de données
- Requete sql pix - Forum PHP
- Mysql streaming - Forum PHP
- Error 2002 (hy000): can't connect to local mysql server through socket '/var/run/mysqld/mysqld.sock' (2) ✓ - Forum Linux / Unix
- Quelle requete écrire pour demander au moteur de recherche tennis - Forum Access
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
:(