JOIN LEFT {MYSQL}
Résolu/Fermé
devMan
Messages postés
74
Date d'inscription
jeudi 10 décembre 2009
Statut
Membre
Dernière intervention
16 septembre 2010
-
31 déc. 2009 à 15:36
devMan Messages postés 74 Date d'inscription jeudi 10 décembre 2009 Statut Membre Dernière intervention 16 septembre 2010 - 5 janv. 2010 à 17:22
devMan Messages postés 74 Date d'inscription jeudi 10 décembre 2009 Statut Membre Dernière intervention 16 septembre 2010 - 5 janv. 2010 à 17:22
A voir également:
- JOIN LEFT {MYSQL}
- Mysql community server - Télécharger - Bases de données
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
- Left shift clavier - Forum Jeux vidéo
- Cents = gettens(left(mid(mynumber, decimalplace + 1) & _ "00", 2)) ✓ - Forum Excel
- Le paquet « mysql-server » n'a pas de version susceptible d'être installée ✓ - Forum Debian
5 réponses
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
31 déc. 2009 à 16:15
31 déc. 2009 à 16:15
Salut,
Pour la premiere question, je dirai à priori non...S'il y a difference, cela sera au niveau du cout de la requete et de l'optmiseur je pense..
Pour la deuxieme:
Etant donné que :
table.id =2 and table1.id =3 sera toujours faux dans la même requête...tu n'aura jamais de lignes...
@+
Pour la premiere question, je dirai à priori non...S'il y a difference, cela sera au niveau du cout de la requete et de l'optmiseur je pense..
Pour la deuxieme:
Etant donné que :
table.id =2 and table1.id =3 sera toujours faux dans la même requête...tu n'aura jamais de lignes...
@+
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
31 déc. 2009 à 16:25
31 déc. 2009 à 16:25
Par exemple,
id=3:
condition1 = ( table1.id =3 AND table1.champs = "test" AND table1.champs1 = "test" ) =VRAI
condition2 = ( table.id =2 AND table1.champs = "valeur1" AND table1.champs1 = "valeur2" )=FAUX
condition1 and condition2=VRAI AND FAUX=FAUX
idem pour id=2...
condition1 = ( table1.id =3 AND table1.champs = "test" AND table1.champs1 = "test" ) =FAUX
condition2 = ( table.id =2 AND table1.champs = "valeur1" AND table1.champs1 = "valeur2" )=VRAI
condition1 and condition2=FAUX AND VRAI=FAUX
id=3:
condition1 = ( table1.id =3 AND table1.champs = "test" AND table1.champs1 = "test" ) =VRAI
condition2 = ( table.id =2 AND table1.champs = "valeur1" AND table1.champs1 = "valeur2" )=FAUX
condition1 and condition2=VRAI AND FAUX=FAUX
idem pour id=2...
condition1 = ( table1.id =3 AND table1.champs = "test" AND table1.champs1 = "test" ) =FAUX
condition2 = ( table.id =2 AND table1.champs = "valeur1" AND table1.champs1 = "valeur2" )=VRAI
condition1 and condition2=FAUX AND VRAI=FAUX
devMan
Messages postés
74
Date d'inscription
jeudi 10 décembre 2009
Statut
Membre
Dernière intervention
16 septembre 2010
15
31 déc. 2009 à 16:30
31 déc. 2009 à 16:30
chez moi les deux condition sont vrai
condition1 = ( table1.id =3 AND table1.champs = "test" AND table1.champs1 = "test" ) =VRAI
condition2 = ( table.id =2 AND table1.champs = "valeur1" AND table1.champs1 = "valeur2" ) = VRAI
condition1 = ( table1.id =3 AND table1.champs = "test" AND table1.champs1 = "test" ) =VRAI
condition2 = ( table.id =2 AND table1.champs = "valeur1" AND table1.champs1 = "valeur2" ) = VRAI
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
31 déc. 2009 à 16:36
31 déc. 2009 à 16:36
la table avec le nom 'table' elle sort d'où dans ta requte??
devMan
Messages postés
74
Date d'inscription
jeudi 10 décembre 2009
Statut
Membre
Dernière intervention
16 septembre 2010
15
31 déc. 2009 à 17:10
31 déc. 2009 à 17:10
Re,
juste une erreur de tapage :
condition1 = ( table1.id =3 AND table1.champs = "test" AND table1.champs1 = "test" ) =VRAI
condition2 = ( table1.id =2 AND table1.champs = "valeur1" AND table1.champs1 = "valeur2" ) = VRAI
juste une erreur de tapage :
condition1 = ( table1.id =3 AND table1.champs = "test" AND table1.champs1 = "test" ) =VRAI
condition2 = ( table1.id =2 AND table1.champs = "valeur1" AND table1.champs1 = "valeur2" ) = VRAI
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
1 janv. 2010 à 14:38
1 janv. 2010 à 14:38
Salut,
tu ne peux pas avoir les 2 conditions vrai dans la meme requete...
Dans la requete, quand on va balayer les id:
si table1.id=2, alors ta clause where:
condition2=vrai
condition1=faux->car tu veux que table1.id=3 donc FAUX
donc un 'and' (un ET logique) vrai ET faux va etre faux...
de meme quand table1.id=3...
Si c'est un OR (OU Logique),vrai OU faux=vrai donc tu as des resultats...
Bonne année!!
@+
tu ne peux pas avoir les 2 conditions vrai dans la meme requete...
Dans la requete, quand on va balayer les id:
si table1.id=2, alors ta clause where:
condition2=vrai
condition1=faux->car tu veux que table1.id=3 donc FAUX
donc un 'and' (un ET logique) vrai ET faux va etre faux...
de meme quand table1.id=3...
Si c'est un OR (OU Logique),vrai OU faux=vrai donc tu as des resultats...
Bonne année!!
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
devMan
Messages postés
74
Date d'inscription
jeudi 10 décembre 2009
Statut
Membre
Dernière intervention
16 septembre 2010
15
5 janv. 2010 à 17:22
5 janv. 2010 à 17:22
Re,
merci de votre reponse,
j'ai trouvé une solution....c pas parfait ..... mais ça marche.
merci de votre reponse,
j'ai trouvé une solution....c pas parfait ..... mais ça marche.
SELECT `maTable`.* FROM `maTable` Where ( id in (SELECT ID FROM `table1` WHERE (table1.champs1 =3 AND table1.champs2 = "test" AND table1.champs3 = "test")) and id in (SELECT ID FROM `table1` WHERE (table1.champs1 =2 AND table1.champs2 = "essai" AND table1.champs3 = "essai")) )
31 déc. 2009 à 16:22
pr le premiere c bon
pr le 2eme j'ai pas compris pourquoi tu as dis table.id =2 and table1.id =3 sera toujours faux dans la même requête
il y a deux condition ds la clause where
condition1 = ( table1.id =3 AND table1.champs = "test" AND table1.champs1 = "test" )
condition2 = ( table.id =2 AND table1.champs = "valeur1" AND table1.champs1 = "valeur2" )