我有两个表: 位置与列:id、x、y、entityID 速度与列:id、speedX、speedY、entityID
只有一些实体有速度,所以我需要以某种方式在位置和速度之间进行内部连接。
我的问题是我想在一个查询中使用 Speed 表中的 Position.entityID = Speed.entityID 更新位置。
拜托,你能用一些 SQL 的东西打我吗?
感谢你!
我有两个表: 位置与列:id、x、y、entityID 速度与列:id、speedX、speedY、entityID
只有一些实体有速度,所以我需要以某种方式在位置和速度之间进行内部连接。
我的问题是我想在一个查询中使用 Speed 表中的 Position.entityID = Speed.entityID 更新位置。
拜托,你能用一些 SQL 的东西打我吗?
感谢你!
使用连接进行更新的典型方法:
update Position
set x=(select speedx from Speed s where s.entityID=Position.entityID),
set y=(select speedy from Speed s where s.entityID=Position.entityID)
where exists (select 1 from Speed where s.entityID=Position.entityID)
性能虎钳这不是最佳的(内部查询),如果适合您的场景,您可能还想评估“插入或替换”。