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 :

#1242 - Subquery returns more than 1 row


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 7
    Par défaut #1242 - Subquery returns more than 1 row
    Bonjour à tous,

    Cette requête doit me permettre d'afficher le nom de chaque céréale dont le prix de reversion a augmenté de plus de 5 % entre 2005 et 2006.

    Hors j'ai l'erreur "#1242 - Subquery returns more than 1 row " lorsque je lance ma requête. Apparement cela vient de mon >= , mais le probleme c'est que si je mets "IN" à la place, la requête ne revoit pas le resultat attendu, voici ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     SELECT libcereale
    FROM tcereale, treversion
    WHERE Tcereale.codecereale = treversion.codecereale
    AND annee =2006
    AND prixreverse >= ( 
    SELECT prixreverse * 1.05
    FROM treversion
    WHERE annee =2005 )
    Merci d'avance aux personnes qui prendront le temps de m'aider !

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 134
    Par défaut
    Comment fais-tu correspondre le prix de 2005 avec la céréale à laquelle il se rattache ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT  cer.libcereale  
    FROM    tcereale    AS  cer 
        INNER JOIN
            treversion  AS  r05
            ON  cer.codecereale = r05.codecereale
        INNER JOIN
            treversion  AS  r06
            ON  cer.codecereale = r06.codecereale
    WHERE   r06.annee = 2006
        AND r05.annee = 2005
        AND r06.prixreverse >= r05.prixreverse * 1.05
    ;
    Je suppose que (codecereale, annee) est la cle de treversion ...
    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.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 7
    Par défaut
    En effet (codecereale, annee) est la cle de treversion

    Je voudrais savoir à quoi sert les INNER JOIN ? car si je les utilise autant que je comprenne pourquoi , je relaisse un message juste apres avoir essayé ! a tout de suite

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 134
    Par défaut
    Je t'encourage vivement à aller lire le Cours sur les Jointures en SQL
    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.

  5. #5
    Membre Expert Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Par défaut
    Deja 2 questions sur les même structures de tables avec 2 utilisateurs differents, je me demande si nous ne résolvons pas le TP d'etudiants !!

    Comme al1_24 (grand sage au demeurant) vous l'a conseillé, attardez vous sur la gestion des jointures et autres documentations SQL.

    Bon courage

Discussions similaires

  1. #1242 - Subquery returns more than 1 row
    Par orimikomi dans le forum Langage SQL
    Réponses: 3
    Dernier message: 03/09/2009, 20h34
  2. Réponses: 4
    Dernier message: 25/01/2007, 15h02
  3. Réponses: 3
    Dernier message: 08/12/2006, 17h28
  4. ORA-01427: single-row subquery returns more than one row
    Par hadid dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/10/2006, 15h35
  5. Subquery returns more than 1 row
    Par Mathelec dans le forum Requêtes
    Réponses: 12
    Dernier message: 03/08/2006, 14h25

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