当xid和id列的值相等时,我需要在同一个mysql表中更新行。
这是一个例子:
mysql> SELECT
Euro,
ALMACEN,
Imagen,
xID,
ID
FROM
`tbl_g`
WHERE
xID IN (2025)
OR ID IN (2025);
+--------+----------+--------+------+------+
| Euro | ALMACEN | Imagen | xID | ID |
+--------+----------+--------+------+------+
| 7742,8 | ARGUALAS | NULL | NULL | 2025 |
| NULL | EMPALME | | 2025 | 4441 |
+--------+----------+--------+------+------+
2 rows in set
我尝试了此sql更新查询,但没有成功,因为xid编号为2025的行没有使用id为2025的行的值进行更新:
mysql> UPDATE `tbl_g` kkk,
`tbl_g` jjj
SET kkk.Euro = jjj.Euro
WHERE
kkk.ID = jjj.xID
AND kkk.xID IS NOT NULL;
Query OK, 0 rows affected
Rows matched: 0 Changed: 0 Warnings: 0
如何解决这个问题?
你能帮助我吗?
提前感谢您的帮助,非常感谢。
2条答案
按热度按时间f4t66c6m1#
例如,您需要一个self-join
sxissh062#
使用
JOIN
(自连接)并使用WHERE
子句来检查列Euro
为空。查询
注意:有可能有多行满足条件。