push
Новичок
Помогите разобраться в запросе. Обновление данных.
есть 2 таблицы:
в них хранятся схожие данные, допустим в одной 500 записей а в другой 1000.
нужно сравнить таблицы и где равно обновить statuswo поле.
начал было делать так:
но так как (select PartNumberDebt.numberwo from PartNumberDebt) множество значений, такое сравнение не пройдет, я подумал в сторону цикла, но раньше не использовал его никогда, верно ли мои направления? если нет то как логичнее было бы сделать?
есть 2 таблицы:
PHP:
mysql> desc PartNumberDebt;
+------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+----------------+
| id | int(10) | NO | PRI | NULL | auto_increment |
| numberwo | varchar(50) | YES | | NULL | |
| partnumber | varchar(50) | YES | | NULL | |
| count | tinyint(4) | YES | | NULL | |
+------------+-------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
mysql> desc workorders;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(10) | NO | PRI | NULL | auto_increment |
| numberce | varchar(50) | YES | | NULL | |
| numberwo | varchar(50) | YES | | NULL | |
| datewo | date | YES | | NULL | |
| statuswo | varchar(50) | YES | | NULL | |
+----------+-------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
нужно сравнить таблицы и где равно обновить statuswo поле.
начал было делать так:
PHP:
update workorders set statuswo='Parts return failure'
where (select PartNumberDebt.numberwo from PartNumberDebt)=workorders.numberwo
and date_add(datewo,INTERVAL 2 DAY)<CURDATE() and statuswo!='Completed' and statuswo!='Completed with fouls';