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

Requêtes MySQL Discussion :

Subquery returns more than 1 row


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 175
    Par défaut Subquery returns more than 1 row
    bonjour,
    j'ai les deux tables suivantes :
    Code Java :

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public static final String table_concerne_devis__Name = "concerne_devis";
    	static final String[] TABLE_concerne_devis = 
    		{ 
    		"n_commande_f int(6) zerofill NOT NULL" , 
    		"reference  int(4) zerofill NOT NULL" ,
    		"prix_unitaire double precision not null",
    		"qte_cf int not null" , 
    		"unite varchar(10) not null",
    		"mt_ht double not null " ,
    		"taux_tva double precision not null ",
    		"livrer varchar(5) not null ",
    		"constraint wwwaz PRIMARY KEY (n_commande_f,reference)" ,
    		"CONSTRAINT sdfdf FOREIGN KEY (n_commande_f) REFERENCES devis (n_commande_f) ", 
    		"CONSTRAINT oiopi FOREIGN KEY (reference) REFERENCES article (reference) "
            };



    et celle-là
    Code Java :

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public static final String[] TABLE_article = 
    		{ 
    		"reference int(4) zerofill AUTO_INCREMENT NOT NULL" , 
    		"designation VARCHAR(30) not null" ,
    		"marque VARCHAR(30) " , 
    		"unite VARCHAR(30) not null " ,
    		"t_tva double not null" , 
    		"p_a double not null" , 
    		"p_v double not null" , 
    		"PRIMARY KEY (reference)",
    		"stock_entree int ",
    		"stock_sortie int ",
    		"CONSTRAINT FuuT_PRS FOREIGN KEY (t_tva) REFERENCES taux_tva (tva) " ,
    		"CONSTRAINT FqarS FOREIGN KEY (unite) REFERENCES unite_article (unite) " 
            };



    Le champ "livrer" de la première table prend true ou false.
    Je veux que lorsque on le met à true, on diminue stock_sortie de la deuxième table avec la valeur correspondante de qte_cf de la première table.
    J'ai essayé :
    Code Java :

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    String req1 = "update article set stock_sortie = stock_sortie - (select qte_cf from concerne_cf where n_commande_f ='"+num+"'" +
    					" and reference in (select reference from concerne_cf where n_commande_f ='"+num+"' ) ) where reference in " +
    							"(select reference from concerne_cf where n_commande_f ='"+num+"' )";
    			System.out.println("req1 : "+req1);
    			st.executeUpdate(req1);

    et l'erreur :
    Subquery returns more than 1 row

    Je ne sais pas résoudre.
    Merci
    Avez-vous une idée

  2. #2
    Membre extrêmement actif
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Billets dans le blog
    6
    Par défaut
    Je pense que tu veux avoir toutes les qte_cf concernées.
    Pour cela voici la sous-requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    (select qte_cf 
                                                     from sum(concerne_cf )
                                                     where n_commande_f ='"+num+"'" +
                                                     and reference in (select reference 
                                                                       from concerne_cf 
                                                                       where n_commande_f ='"+num+"' ) )

Discussions similaires

  1. #1242 - Subquery returns more than 1 row
    Par Loan26 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 07/11/2007, 21h32
  2. Réponses: 4
    Dernier message: 25/01/2007, 16h02
  3. Réponses: 3
    Dernier message: 08/12/2006, 18h28
  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, 16h35
  5. Subquery returns more than 1 row
    Par Mathelec dans le forum Requêtes
    Réponses: 12
    Dernier message: 03/08/2006, 15h25

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