SQL表达式(从一个表中选择最大值,使用它来偏移从另一个表插入的值)

时间:2013-05-30 20:25:35

标签: ms-access-2007

我有名为演员导演的表格。这两个人都有 ID 作为自动编号。我将它们移动到我的新数据库并将其添加到名为人员的表中。首先我插入演员,然后导演,所以如果导演 ID为00001,则现在为00001 +列 ID <的最大值/ strong>来自 Actors 表,因为它已添加到列表的末尾。 (所以,如果最后一名演员是00050现在第一任导演是00050 + 00001 = 00051等等)

现在我有其他表格可以保存从电影到多个演员导演

的连接

我需要的是一个SQL表达式来弄清楚如何做这样的事情:

INSERT INTO Movies_Actors(Movies_Actors.movi​​e_id,Movies_Actors.person_id)IN'C:'NewDB.accdb' SELECT movie_id,actor_id 来自Movies_Actors;

然后

INSERT INTO Movies_Directors( Movies_Actors.movi​​e_id,Movies_Actors.person_id )IN'C:'NewDB.accdb' SELECT movie_id, director_id + maxValue(Actors.id) 来自Movies_Actors;

为了保持我的关系健康。

1 个答案:

答案 0 :(得分:0)

解决方案是进行额外的查询,以保存Actors的maxValue,然后在主查询中使用该值,如

&LT; ...&GT;

,DIRECTOR_ID + maxValueQuery.MaxV 来自Movies_Actors,maxValueQuery;