我有两个表:
列位置:id,x,y,entityID
带列的速度:id,speedX,speedY,entityID

只有某些实体具有速度,因此我需要某种内部连接以介于位置和速度之间。

我的问题是我想在一个查询中从Speed表中的Position.entityID = Speed.entityID更新速度。

拜托,您能给我一些SQL资料吗?

感谢你!

最佳答案

使用join更新的典型方法:

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)


性能虎钳不是最佳选择(内部查询),如果适合您的情况,您可能还需要评估“ INSERT OR REPLACE”。

关于sqlite - 选择后SQLite高效更新,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18915185/

10-10 12:48