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

SQL Oracle Discussion :

Sous-interrogation ramenant un enregistrement de plus d'une ligne


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    technicien méthodes
    Inscrit en
    Décembre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : technicien méthodes

    Informations forums :
    Inscription : Décembre 2014
    Messages : 14
    Par défaut Sous-interrogation ramenant un enregistrement de plus d'une ligne
    bonjour,

    j'ai vu d'autre sujet identique mais n'ai pas trouvé solution à mon pb...

    voici ma requête pour laquelle j'ai ce message d'erreur :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    update article_specification
                   set      ARSP_VALEUR_A = 'FSC R C'
                   WHERE ARSP_VALEUR_A = 'NON FSC'
                   and     ARSP_ARTI_CODE = (SELECT arfo_arti_code
                                                         from     article_fournisseur
                                                         where   arfo_four_code = 'F000039')
    ;

    quand j'exécute ma sous-requête seule, elle fonctionne bien et remonte bien la liste.

    j'ai testé ça :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT     arsp_valeur_a, arsp_arti_code 
                   FROM       article_specification
                   where      arsp_spte_code = 'FSC'
                   GROUP BY arsp_valeur_a, arsp_arti_code 
                   HAVING count(*) > 1;

    qui ne remonte rien.

    et ça aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT     arfo_arti_code, arfo_four_code 
              FROM       article_fournisseur
              where      arfo_four_code = 'F000039'
              GROUP BY arfo_arti_code, arfo_four_code
              HAVING count(*) > 1;
    qui ne remonte rien non plus...

    merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 137
    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 137
    Par défaut
    La sous-requête qui retourne plus d'une ligne est celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT  arfo_arti_code
    from    article_fournisseur
    where   arfo_four_code = 'F000039'
    Que te renvoie cette requête ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT  count(*)
    from    article_fournisseur
    where   arfo_four_code = 'F000039'
    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 averti
    Homme Profil pro
    technicien méthodes
    Inscrit en
    Décembre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : technicien méthodes

    Informations forums :
    Inscription : Décembre 2014
    Messages : 14
    Par défaut
    elle me renvoie 299 qui est bien le nombre d'articles que je veux mettre à jour

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Il ne faut pas mettre = à la ligne 4 de votre première requête, mais IN.

  5. #5
    Membre averti
    Homme Profil pro
    technicien méthodes
    Inscrit en
    Décembre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : technicien méthodes

    Informations forums :
    Inscription : Décembre 2014
    Messages : 14
    Par défaut
    merci beaucoup ça fonctionne !

  6. #6
    Membre averti
    Homme Profil pro
    technicien méthodes
    Inscrit en
    Décembre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : technicien méthodes

    Informations forums :
    Inscription : Décembre 2014
    Messages : 14
    Par défaut
    merci aussi à Al1

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/05/2012, 16h25
  2. Réponses: 2
    Dernier message: 03/08/2011, 10h25
  3. Réponses: 5
    Dernier message: 14/06/2011, 16h48
  4. Réponses: 1
    Dernier message: 20/04/2011, 13h07
  5. Réponses: 6
    Dernier message: 06/09/2010, 11h55

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