EL.marwaa123
Messages postés99Date d'inscriptionjeudi 24 avril 2014StatutMembreDernière intervention 7 juin 2014
-
Modifié par mounana199 le 18/05/2014 à 15:09
EL.marwaa123
Messages postés99Date d'inscriptionjeudi 24 avril 2014StatutMembreDernière intervention 7 juin 2014
-
18 mai 2014 à 22:12
Bonjour,
salut j'ai un probleme concernant une requete voila la requete :
SELECT TYPE
FROM TYPE WHERE idT = (
SELECT idT FROM la3ba
WHERE idS = (
SELECT idS FROM smodule
WHERE nomS = "ana" ) )
avec cette requete je veux afficher les nom des types associées à un sous module,j'ai 3 tables:type,sous module et une qui s'appelle la3ba qui associe la clé primaire de type avec clé primaire de sous module.
et l'erreur qui s'affiche est celui crée dans le titre .
pouvez vous m'aider svp ?merci d'avance
jordane45
Messages postés37864Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 7 décembre 2023343 Modifié par jordane45 le 18/05/2014 à 21:21
Bonjour,
Même si le IN devrait résoudre le souci du demandeur... il n'en reste pas moins que l'utilisation de sous requêtes en cascades est une mauvaise idée... surtout lorsque d'autres choix sont possibles..
Par exemple :
SELECT t.TYPE
FROM TYPE t
, la3ba l
, smodule s
WHERE t.idT = l.idT
AND l.idS = s.idS
AND s.nomS = "ana"
ou encore un truc du genre :
SELECT t.TYPE
FROM TYPE t
LEFT JOIN la3ba l ON (t.idT = l.idT)
LEFT JOIN smodule s ON (l.idS = s.idS AND s.nomS = "ana")
Avant de poser une question, merci de lire la charte du site. Cordialement, Jordane
EL.marwaa123
Messages postés99Date d'inscriptionjeudi 24 avril 2014StatutMembreDernière intervention 7 juin 2014 18 mai 2014 à 21:54
merci pour ces explications tous ces reponses marche bien ,mais je suis débutante en sql donc j'ai pas assez de connaissances come vous.mais ce que j'ai appris ce que les requetes sans jointure sont les plus optimales surtout si c'est le cas d'une grande base de données. car une requete qui s'execute dans une seconde n'est pas similaire à une autre qui s'execute dans 2sec. est ce que c'est vrais? merci infiniment
jordane45
Messages postés37864Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 7 décembre 2023343 18 mai 2014 à 22:08
Disons plutôt que des sous requêtes c'est un peu comme faire des boucles... plus tu en mets..plus ça alourdi l'exécution du code.
EL.marwaa123
Messages postés99Date d'inscriptionjeudi 24 avril 2014StatutMembreDernière intervention 7 juin 2014 18 mai 2014 à 22:12