【发布时间】:2025-11-26 04:45:01
【问题描述】:
所以我有一个名为customers 的表,在该表中有一些地方填写了zip 列,但没有填写state 列。
我们可以合理地假设,如果我们有另一个客户同时填写了 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? -
我需要更新表格
标签: php mysql sql phpmyadmin