SQL查询更多时间执行并最终出错[关闭]
Posted
技术标签:
【中文标题】SQL查询更多时间执行并最终出错[关闭]【英文标题】:SQL query more time to execute and finally get error [closed] 【发布时间】:2020-06-04 06:37:29 【问题描述】:UPDATE member
SET member.usableSum = (SELECT usablesum
FROM fundrecord
WHERE (member.id= fundrecord.memberId) AND id IN (
SELECT MAX(id)
FROM [enter image description here][1]fundrecord
GROUP BY memberId)
)
【问题讨论】:
你的子查询在这里只允许返回一行,但可能会返回几行。 发布错误消息。 还添加一些示例数据以及您的预期输出。 【参考方案1】:我猜你想要:
UPDATE member m
SET m.usableSum = (SELECT fr.usablesum
FROM fundrecord fr
WHERE m.id = fr.memberId
ORDER BY fr.id DESC
LIMIT 1
);
这将为每个成员返回来自fundrecord
的“最新”usablesum
。
【讨论】:
【参考方案2】:请在查询中使用DISTINCT
,
UPDATE member
SET member.usableSum = (SELECT distinct usablesum
FROM fundrecord
WHERE (member.id= fundrecord.memberId) AND id IN (
SELECT MAX(id)
FROM [enter image description here][1]fundrecord
GROUP BY memberId)
)
如果您仍然面临同样的问题,那么您的子查询将返回多个值
【讨论】:
以上是关于SQL查询更多时间执行并最终出错[关闭]的主要内容,如果未能解决你的问题,请参考以下文章