1

我有两个表: 位置与列:id、x、y、entityID 速度与列:id、speedX、speedY、entityID

只有一些实体有速度,所以我需要以某种方式在位置和速度之间进行内部连接。

我的问题是我想在一个查询中使用 Speed 表中的 Position.entityID = Speed.entityID 更新位置。

拜托,你能用一些 SQL 的东西打我吗?

感谢你!

4

1 回答 1

2

使用连接进行更新的典型方法:

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)

性能虎钳这不是最佳的(内部查询),如果适合您的场景,您可能还想评估“插入或替换”。

于 2013-09-20T11:20:55.097 回答