IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Double requête SQL


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Double requête SQL
    Bonjour,

    Je n'arrive pas à effectuer un tri sur une double requête SQL ... je peux répondre un nom de champ qui n'existe il ne me met jms une msg d'erreur c'est très étonnant ..

    Voici mon code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    $result = mysql_query("
    SELECT *
    FROM periodes
    WHERE Id_Periode IN
    (
     SELECT id_periode
     FROM comporter 
     
     WHERE id_annee = '$annee' 
     ORDER BY num 
    )  
     
    ");
     
     
    while ($res = mysql_fetch_array($result)) { 
     
    ?><a href="encodage.php?annee=<?php echo $valeurannee;?>&periode=<?php echo $res["Id_Periode"]; ?>"><?php echo $res["Nom_Periode"];?></a><br><br><?php 
    }?></div><?php
    Merci beaucoup

    Bonne soirée à tous

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 188
    Points : 12 744
    Points
    12 744
    Par défaut
    Bonjour,
    Il faut sortir la clause "order by" de la sous-requête.

    Tatayo.

  3. #3
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 008
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 008
    Points : 23 684
    Points
    23 684
    Par défaut
    Le mieux, encore, c'est de se passer complètement de la sous-requête, là où une jointure suffit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT *
    FROM periodes p
    INNER JOIN comporter c ON p.id_periode = p.id_periode
    WHERE id_annee = '$annee' 
    ORDER BY num
    Et éventuellement remplacer l'étoile par les champs qui vous intéressent.
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 778
    Points
    30 778
    Par défaut
    Avec la jointure, si la table comporter présente plusieurs lignes pour un même id_periode, le résultat sera multiplié d'autant de lignes
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

Discussions similaires

  1. [MySQL] double requête sql
    Par Therand dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 11/11/2012, 18h47
  2. [AC-2000] "double" requête sql
    Par egautier18 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 22/10/2010, 12h25
  3. Double requête SQL
    Par Lamzouille dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/06/2010, 12h48
  4. [SQL] Double requête avec jointure
    Par frakosun dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 17/01/2008, 16h03
  5. Requête SQL et tableau à double entrée
    Par Invité dans le forum Langage SQL
    Réponses: 4
    Dernier message: 06/06/2007, 21h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo