Subquery returns more than 1 row
bonjour,
j'ai les deux tables suivantes :
Code Java :
Code:
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:
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:
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