J'ai besoin d'aide avec cette mise à jour MySQLRequête de mise à jour MySQL
J'ai trois tables comme ci-dessous.
tbl1
id eid quantity
1 3 2
2 4 3
tbl2
tid eid qnty status type
1 3 1 1 1
2 3 0 1 0
3 4 1 1 1
4 4 0 1 0
tbl3
id tid type
1 1 1
2 2 0
3 3 1
4 4 0
je besoin d'une mise à jour sql:
Rechercher X
Trouver Y
Puis état de mise à jour en tbl2 à 0 si X - Y> 0
X = tbl1 .quantity - sum (tbl2.qnty) où tbl1.eid = tbl2.eid ET type = 1
En d'autres termes:
X = tbl1.quantity en ce que eid - somme (tbl2.qnty) en ce que eid WHERE type = 1
Ainsi pour X 4 eid = 2 et X pour eid 3 = 1
Y = COUNT SELECT (tbl3.id) dE TBL3 OU tbl2.tid = tbl3.tid eT type = 0 GROUP BY tid
Ainsi tid 2 = 1 et 4 tid = 1
état de mise à jour en tble2 à 0 si X - Y> 0
Le résultat final sera que le statut de tbl2.tid: 4 sera mis à jour à 0 parce que 2 - 1 = 1
Votre (vos) contribution (s) sont appréciées.
Ont été aidé d'ailleurs, et ceci est le script: mise à jour tbl2 set status = 0 où type = 0 AND eid dans (select distinct eid de ( select A.eid, X, Y de ( SELECT tbl1.eid, (tbl1.quantity - somme (tbl2.qnty)) AS X DE tbl1, tbl2 OÙ tbl1.eid = tbl2. eid ET TYPE = 1 tbl1.eid GROUP BY) comme JOIN ( COUNT SELECT (tbl3.id) AS Y, tbl2.eid dE tbl2, TBL3 OÙ tbl2.tid = ET tbl3.tid tbl2.type = 0 GROUP BY tbl2.tid ) en tant que B ON A.id = B.id AYANT X - Y> 0 ) en tant que C ); –