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 :

Erreur ORA-01427: sous-requête ramenant un enregistrement de plus d'une ligne


Sujet :

SQL Oracle

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2015
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mars 2015
    Messages : 123
    Points : 39
    Points
    39
    Par défaut Erreur ORA-01427: sous-requête ramenant un enregistrement de plus d'une ligne
    Bonjour, j'ai un petit problème avec une requête SQL
    voici le code d'erreur : ORA-01427: sous-requête ramenant un enregistrement de plus d'une ligne

    Pour info, voici la requête :

    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
    20
    21
    22
    23
    24
    Select com_numero_cde,com_date_emission,com_suivi_affaire, com_soc_four,lbl_code_article,lbl_prix_net_ht,lbl_prix_ttc,lbl_tva,lbl_numero_facture,lcd_cos_num, LCD_RUB1_BUDGET,ser_anal_code,ssr_code_anal,sit_anal_code
    ,(select LFS_NUM_TIERS from F_LFS_LIEN_FOU_SOC where F_LFS_LIEN_FOU_SOC.LFS_SOC_CODE=f_commande.COM_SOC_CODE and F_LFS_LIEN_FOU_SOC.LFS_FOU_CODE_UNIQUE=f_commande.COM_FOU_CODE_UNIQUE) COMPTE_TIERS
    ,(select AXV_ANAL_CODE from f_axl_lignes,F_AXV_VALEURS where axl_parent = lcd_code_unique and axl_axe_code='AXE00001' and axl_axv_code=axv_code) AXE1
    ,(select AXV_ANAL_CODE from f_axl_lignes,F_AXV_VALEURS where axl_parent = lcd_code_unique and axl_axe_code='AXE00002' and axl_axv_code=axv_code) AXE2
    ,(select AXV_ANAL_CODE from f_axl_lignes,F_AXV_VALEURS where axl_parent = lcd_code_unique and axl_axe_code='AXE00003' and axl_axv_code=axv_code) AXE3
    ,(select AXV_ANAL_CODE from f_axl_lignes,F_AXV_VALEURS where axl_parent = lcd_code_unique and axl_axe_code='AXE00004' and axl_axv_code=axv_code) AXE4
    ,(select AXV_ANAL_CODE from f_axl_lignes,F_AXV_VALEURS where axl_parent = lcd_code_unique and axl_axe_code='AXE00005' and axl_axv_code=axv_code) AXE5
    , f_lbl_ligne_bl.LBL_DESIGNATION_ARTICLE
    ,(select ser_anal_code from f_service, f_utilisateur where uti_ser_code=ser_code and com_uti_code=uti_code) CODE
    ,(select ser_nom from f_service, f_utilisateur where uti_ser_code=ser_code and com_uti_code=uti_code) NOM
    from f_commande,f_lbl_ligne_bl,f_lcd_ligne_cde,f_service,f_ssr_service,f_utilisateur,f_geographique,f_batiment,f_sites
    where com_code_unique<>'*'
    and com_tem_livraison<>2
    and lbl_com_code_unique=com_code_unique
    and lbl_date_bl<='31/12/2015'
    and exists (select mvs_code from f_mvs_compta where mvs_soc_code=com_soc_code and mvs_fou_code_unique=com_fou_code_unique and mvs_num_fac=lbl_numero_facture and mvs_flag=0 and MVS_CODE_JOURNAL='BALACHAT')
    and lbl_numero_auto_copie=lcd_code_unique
    and lcd_ser_code=ser_code
    and lcd_ssr_code=ssr_code
    and lcd_uti_code=uti_code
    and uti_geo_code=geo_code
    and geo_bat_code=bat_code
    and bat_sit_code=sit_code
    order by com_numero_cde;

  2. #2
    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 801
    Points
    30 801
    Par défaut
    Sans lire l'intégralité de la requête, le message d'erreur est parlant... L'une des sous-requête retourne plus d'une ligne !
    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
    Nouveau membre du Club
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2015
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mars 2015
    Messages : 123
    Points : 39
    Points
    39
    Par défaut
    Désolé je suis amateur c'est à dire ?

  4. #4
    Membre habitué Avatar de Razorflak
    Homme Profil pro
    Développeur Flex/AS3
    Inscrit en
    Juin 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Flex/AS3
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 97
    Points : 192
    Points
    192
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    (select LFS_NUM_TIERS from F_LFS_LIEN_FOU_SOC where F_LFS_LIEN_FOU_SOC.LFS_SOC_CODE=f_commande.COM_SOC_CODE and F_LFS_LIEN_FOU_SOC.LFS_FOU_CODE_UNIQUE=f_commande.COM_FOU_CODE_UNIQUE) COMPTE_TIERS
    ,(select AXV_ANAL_CODE from f_axl_lignes,F_AXV_VALEURS where axl_parent = lcd_code_unique and axl_axe_code='AXE00001' and axl_axv_code=axv_code) AXE1
    ,(select AXV_ANAL_CODE from f_axl_lignes,F_AXV_VALEURS where axl_parent = lcd_code_unique and axl_axe_code='AXE00002' and axl_axv_code=axv_code) AXE2
    ,(select AXV_ANAL_CODE from f_axl_lignes,F_AXV_VALEURS where axl_parent = lcd_code_unique and axl_axe_code='AXE00003' and axl_axv_code=axv_code) AXE3
    ,(select AXV_ANAL_CODE from f_axl_lignes,F_AXV_VALEURS where axl_parent = lcd_code_unique and axl_axe_code='AXE00004' and axl_axv_code=axv_code) AXE4
    ,(select AXV_ANAL_CODE from f_axl_lignes,F_AXV_VALEURS where axl_parent = lcd_code_unique and axl_axe_code='AXE00005' and axl_axv_code=axv_code) AXE5
    ,(select ser_anal_code from f_service, f_utilisateur where uti_ser_code=ser_code and com_uti_code=uti_code) CODE
    ,(select ser_nom from f_service, f_utilisateur where uti_ser_code=ser_code and com_uti_code=uti_code) NOM
    L'un (ou plusieurs) de ces sous select ramène plus d'un résultat. C'est pour cela que ta requête plante.
    Test les 1 par 1 pour voir lequel.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/02/2015, 11h19
  2. Réponses: 6
    Dernier message: 09/12/2014, 08h39
  3. Réponses: 1
    Dernier message: 19/04/2013, 14h14
  4. Réponses: 1
    Dernier message: 20/04/2011, 12h07
  5. Réponses: 6
    Dernier message: 06/09/2010, 10h55

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