Итак, у меня есть таблица с именем customers
, и в этой таблице есть места, где заполняется столбец zip
, но столбец state
- нет.Как скопировать данные из одной строки в другую в SQL
Мы можем разумно предположить, что если у нас есть еще один клиент с как zip
и state
колонка заполнены, и zip
соответствует клиенту без state
заполненных, что клиент не state
заполненных может быть это заполнен тем же значением, другой соответствующий клиент.
Цель состоит в том, чтобы заполнить недостающие значения, когда мы их знаем в другой строке.
Пример:
BEFORE: AFTER:
/====================\ /====================\
| id | zip | state | | id | zip | state |
|----|-------|-------| |----|-------|-------|
| 0 | 12345 | FL | ==> | 0 | 12345 | FL |
| 1 | 67890 | CA | ==> | 1 | 67890 | CA |
| 2 | 67890 | | ==> | 2 | 67890 | CA |
| 3 | 12345 | | | 3 | 12345 | FL |
| 4 | 10101 | | | 4 | 10101 | |
\====================/ \====================/
Мой вопрос: Как я могу использовать MySQL обновить таблицу и заполнить недостающие данные из другой строки?
До сих пор у меня есть SQL для поиска недостающих значений:
SELECT *
FROM customers
WHERE country = 'united states'
AND (zip <> '' OR zip IS NOT NULL)
AND (state = '' OR state IS NULL)
вам нужно 'update' таблицы или просто нужно 'select'? –
Мне нужно обновить таблицу –