Opencart 数据库中的 sql 查询有问题
Having problem with sql query in Opencart database
我正在尝试从另一个 table 的数据更新 1 个字段,但出现错误 #1242 - 子查询 returns 多于 1 行。
我 运行 的查询是:
UPDATE oc_order AS o
SET o.date_added = ( SELECT date_added FROM oc_order_history
WHERE order_id = o.order_id
AND order_status_id = 5)
关于问题出在哪里或如何解决的任何想法?
你应该使用 JOIN
.
UPDATE oc_order oc
INNER JOIN
(
SELECT date_added ,order_id
FROM oc_order_history
WHERE order_status_id = 5
) as oh on oc.order_id=oh.order_id
set oc.date_added=oh.date_added ;
我认为 order_id
是 JOIN
条件的关键。
测试它,让我知道它是否有帮助。
如果能给出一些例子数据,能得到正确答案就更好了。
我正在尝试从另一个 table 的数据更新 1 个字段,但出现错误 #1242 - 子查询 returns 多于 1 行。
我 运行 的查询是:
UPDATE oc_order AS o
SET o.date_added = ( SELECT date_added FROM oc_order_history
WHERE order_id = o.order_id
AND order_status_id = 5)
关于问题出在哪里或如何解决的任何想法?
你应该使用 JOIN
.
UPDATE oc_order oc
INNER JOIN
(
SELECT date_added ,order_id
FROM oc_order_history
WHERE order_status_id = 5
) as oh on oc.order_id=oh.order_id
set oc.date_added=oh.date_added ;
我认为 order_id
是 JOIN
条件的关键。
测试它,让我知道它是否有帮助。
如果能给出一些例子数据,能得到正确答案就更好了。