Я смущаюсь по этому вопросу и нуждаюсь в некоторой помощи.MySQL. Изменения таблицы с подзапросами
I've получили эти таблицы:
1) Продукты (продукты)
+-------------+-----------------------------+---------------+------------------+
| 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 |
+-------------+-----------------------------+---------------+------------------+
и:
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 |
+-----------+-------------+------------+----------+--------------+
Теперь, что Я должен сделать это, чтобы обновить столбец «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