JOIN LEFT {MYSQL}
Résolu
devMan
Messages postés
74
Date d'inscription
Statut
Membre
Dernière intervention
-
devMan Messages postés 74 Date d'inscription Statut Membre Dernière intervention -
devMan Messages postés 74 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- JOIN LEFT {MYSQL}
- Mysql community server - Télécharger - Bases de données
- Join pdf - Télécharger - PDF
- Left shift clavier - Forum MacOS
- Touche Shift gauche ne fonctionne pas toujours - Forum Windows 10
- Mysql error 2002 ✓ - Forum Linux / Unix
5 réponses
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...
@+
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
la table avec le nom 'table' elle sort d'où dans ta requte??
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
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")) )
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" )