これを混乱させて助けが必要です。MySQL。サブクエリを使用したテーブルの変更
1)PRODUCTOS(製品)
+-------------+-----------------------------+---------------+------------------+
| PRODUCTO_NO | DESCRIPCION | PRECIO_ACTUAL | STOCK_DISPONIBLE |
+-------------+-----------------------------+---------------+------------------+
| 10 | MESA DESPACHO MOD. GAVIOTA | 550.00 | 50 |
| 20 | SILLA DIRECTOR MOD. BUFALO | 670.00 | 25 |
| 30 | ARMARIO NOGAL DOS PUERTAS | 460.00 | 20 |
| 50 | ARCHIVADOR CEREZO | 1050.00 | 20 |
| 60 | CAJA SEGURIDAD MOD B222 | 280.00 | 15 |
| 70 | DESTRUCTORA DE PAPEL A3 | 450.00 | 25 |
| 80 | MODULO ORDENADOR MOD. ERGOS | 550.00 | 25 |
+-------------+-----------------------------+---------------+------------------+
と::
I'veは、これらのテーブルだ、今
2)PEDIDOS(受注)
+-----------+-------------+------------+----------+--------------+
| PEDIDO_NO | PRODUCTO_NO | CLIENTE_NO | UNIDADES | FECHA_PEDIDO |
+-----------+-------------+------------+----------+--------------+
| 1000 | 20 | 103 | 3 | 1999-10-06 |
| 1001 | 50 | 106 | 2 | 1999-10-06 |
| 1002 | 10 | 101 | 4 | 1999-10-07 |
| 1003 | 20 | 105 | 4 | 1999-10-16 |
| 1005 | 30 | 105 | 2 | 1999-10-20 |
| 1006 | 70 | 103 | 3 | 1999-11-03 |
| 1007 | 50 | 101 | 2 | 1999-11-06 |
| 1008 | 10 | 106 | 6 | 1999-11-16 |
| 1009 | 20 | 105 | 2 | 1999-11-26 |
| 1011 | 30 | 106 | 2 | 1999-12-15 |
| 1012 | 10 | 105 | 3 | 1999-12-06 |
| 1013 | 30 | 106 | 2 | 1999-12-06 |
| 1014 | 20 | 101 | 4 | 2000-01-07 |
| 1015 | 70 | 105 | 4 | 2000-01-16 |
| 1017 | 20 | 105 | 6 | 2000-01-20 |
+-----------+-------------+------------+----------+--------------+
を何私はテーブルから'PRODUCTOS 'の列'STOCK_DISPPONIBLE'(利用可能な在庫)を更新することですそれは在庫の各項目のために発注されている項目の総数です。これは、例えば私がテーブルを製品番号10として入手したことを意味し、すべての注文を調べ、注文されたテーブルの数を確認し、テーブルの合計からその数を減算する必要があります。私が思いついたのはうまくいきませんでした(うまくいけば、私はここにいません)。
update PRODUCTOS set STOCK_DISPONIBLE= (STOCK_DISONIBLE - (select sum(p1.UNIDADES) from PEDIDOS p1 join PRODUCTOS p2 on p1.PRODUCTO_NO = p2.PRODUCTO_NO));
ここでは論理が絶対にうねっている可能性があります。しかし、私はこの人に迷ってしまい、誰かが私を助けてくれたら大変感謝しています。
!これほどまでにありがとう、私はそれを過度に複製していることを知っていました。 – CNB