begin process at 2012 02 11 18:22:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

MySQL

 > 

Requêtes

 > 

probleme requete


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme requete

dimanche 29 juin 2008 à 14:06:24 | probleme requete

gousalah

salut j un probleme avec cette requete elle retourn plusieur ligne mais sa marche pa



select * from etudiant where mat_etudiant=(select mat_etudiant from inscription where code_option=2 and code_groupe=2)


c quoi la  solution svp
dimanche 29 juin 2008 à 14:31:39 | Re : probleme requete

nicomilville

Membre Club
Salut,

Si tu est sous mysql, essai de faire comme ça :

SET @query = (SELECT mat_etudiant FROM inscription WHERE code_option=2 AND code_groupe=2);
SELECT * FROM etudiant WHERE mat_etudiant = @query;

a++

Si la réponse vous convient, pensez : Réponse acceptée !

dimanche 29 juin 2008 à 17:43:17 | Re : probleme requete

Farfadh

Réponse acceptée !
Sans vouloir froisser personne, je trouve les requêtes formulées très maladroites, voire carrément incorrectes :
    - une sélection dans une sélection est à utiliser en dernier recours, sinon il faut préférer les jointures
    - il est impossible d'affecter à une variable un résultat de sélection qui contient plusieurs lignes, si j'ai bon souvenir
    - de plus l'utilisation d'une variable dans la clause WHERE ralenti très fortement MySQL à ce que j'ai entendu

Voila la requête que je préconise :
SELECT  etudiant.*
    FROM  etudiant
    LEFT JOIN  inscription
    ON  etudiant.mat_etudiantincription.mat_etudiant
    WHERE  incription.code_option2AND  incription.code_groupe2

Sauf erreur de ma part, elle devrait marcher non seulement parfaitement bien, mais permettre à MySQL de bien optimiser le traitement de la sélection.
dimanche 29 juin 2008 à 17:48:34 | Re : probleme requete

nicomilville

Membre Club
ok, au moins ça a le mérite d'être clair, et moins tu es sincère...

Pour ce qui est de ma requête, j'ai lu dans un tutorial du site du zéro qu'on pouvait mettre un select dans une variable pour après l'utiliser !

a++

Si la réponse vous convient, pensez : Réponse acceptée !

dimanche 29 juin 2008 à 18:21:51 | Re : probleme requete

Farfadh

Réponse acceptée !
Oui tu peux y mettre le résultat d'une sélection mais seulement si elle renvoie une valeur unique, sauf si ça fonctionne autrement dans une version que je ne connais pas :

SET@variable= (SELECT*FROMtable)

#1241 - Operand should contain 1 column(s)

SET@variable= (SELECTidFROMtable)

#1242 - Subquery returns more than 1 row

SET@variable= (SELECTidFROMtableLIMIT1)

Votre requête SQL a été exécutée avec succès (traitement: 0.0002 sec.)

Les variables en SQL, c'est pour faire joujou, parce que ce n'est pas pratique, on ne peut pas y lire et y écrire au sein d'une même instruction, elles sont lentes, elles ne peuvent pas contenir de tableaux et donc pas de sélection de données multiples, et au final mieux vaut stocker le résultat d'une requête dans son script.


Cette discussion est classée dans : probleme, requete, from, where, etudiant


Répondre à ce message

Sujets en rapport avec ce message

probleme d'extraction de ligne d'une requete [ par foufidou ] Bonjour tout le monde,J'ai cette requete par exemple :  SELECT designation, prix, quantite, valeurFROM transactionWHERE code_c Probleme de requete sql [ par ecirtap12 ] Bonsoir, j'ai la requete sql suivante: "SELECT * FROM table WHERE champ1='".$variable1."' AND champ2='".$variable2."' AND champ3='".$variable3."' OR Optimisation d'une sous-requête SQL [ par Lugdunum2 ] Bonjour, Dans le cadre de l'optimisation des requêtes SQL d'un site web, je me retrouve avec une grande question dont je n'ai pas trouvé de réponse d requete de modification [ par ikramta ] bonjour tout le mande.mon probleme est que je veut modifier des valeurs dans une table qui contient 5champs.je veut que chaque foit pour un objet déja Probleme de date avec une base Paradox [ par Rycku ] Bonjour, Je travaille avec une base Paradox 7.0 en connection ODBC avec Windev Mon souci est le suivant, j'ai une requete select avec une conditio optimisation de la clause WHERE sur des champs dates [ par ThierH ] Bonjour j'ai une table SQL Server (2005) contenant plus de 50000 lignes. Dans chaque ligne, j'ai des données de type datetime, integer, ... Mon applic taille de la requete sql access [ par magirap ] Salut tt le monde, je travaille avec sql access et j'ai rencontre un probleme de la taille de la requête sql lors de la creation des formulaires à par [SS2005] probleme requete [ par sdisp ] Bonjour. Je suis un peu rouillié en SQL, j'ai donc un souci pour faire une requête qui répondrait à cette demande: J'ai une table (Sous SS2005) qui co


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,246 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales