Хорошо, я понимаю, что это может быть невероятно просто, но мой мозг сейчас заморожен. Нужно немного помочь с этим запросом. Давайте сломаем его. У меня есть две таблицы (за данном примере), и я хочу, чтобы обновить одну таблицу "UNDELIVERABLE" статусСложность с предложением WHERE IN для MySQL
Клиенты Таблица (tbl_customers):
+------------+-------------+
| customerID | custAcctNum |
+------------+-------------+
| 1 | 100100121 |
| 2 | 100100122 |
| 3 | 10010|
| 4 | 100100124 |
| 5 | 100100125 |
+------------+-------------+
Адрес Таблица (tbl_address):
+-----------+------------+---------------+
| addressID | customerID | undeliverable |
+-----------+------------+---------------+
| 1 | 1 | 0 |
| 2 | 2 | 0 |
| 3 | 3 | 0 |
| 4 | 4 | 0 |
| 5 | 5 | 0 |
+-----------+------------+---------------+
Dataset с "недоставленным" номером счета клиента (custAcctNum)
100100121, 100100123, 100100124
И запрос будет обновлять таблицы адресов для этого
+-----------+------------+---------------+
| addressID | customerID | undeliverable |
+-----------+------------+---------------+
| 1 | 1 | 1 |
| 2 | 2 | 0 |
| 3 | 3 | 1 |
| 4 | 4 | 1 |
| 5 | 5 | 0 |
+-----------+------------+---------------+
Это вопрос, который я пытался использовать
UPDATE tbl_address
SET undeliverable = 1 WHERE
(SELECT custAcctNum FROM tbl_customers AS c
INNER JOIN tbl_address AS a ON a.customerID = c.customerID)
IN (100100121, 100100123, 100100124);
Любые предложения? Благодаря! Синтаксис обновления многотабличных
+1, но я исправил синтаксис, соответствующий синтаксис обновления нескольких таблиц в MySQL. Ср http://dev.mysql.com/doc/refman/5.6/en/update.html –
Спасибо за законопроект и Йогендра! Это сработало с исправленным синтаксисом. – TehFoobar