将多项数据插入表中,并将唯一 ID 与查询一起插入表中

问题描述 投票:0回答:1

我正在尝试从查询中捕获数据并将其全部保存到

Table1
中。我还创建了另一个
table2
,用于一对多关系。

设置是这样的 -

Table1
:

捕获_数量 捕获_ID F3 F4 F5

Table2
仅包含这些列:

捕获_ID Cap_日期

因此

Capture_ID
中的
table2
将被插入到
Table1
Capture_ID
列中,以及
SELECT
查询的其余部分。我想不出任何解决办法。

有没有办法将

INSERT
数据导入到
table2
中,同时将
INSERT
独特的
Capture_ID
table1
以及我编写的
SELECT
查询?

所以如果我有一个返回这个的查询

F3 F4 F5
约翰 100 2024 年 1 月 1 日
彼得 200 2024 年 2 月 2 日
卢克 300 2024 年 3 月 3 日

当我执行SQL语句时,我希望它是这样的

表1

捕获_数量 捕获_ID F3 F4 F5
1 1 约翰 100 2024 年 1 月 1 日
2 1 彼得 200 2024 年 2 月 2 日
3 1 卢克 300 2024 年 3 月 3 日

在Table2上,我也想添加数据。

Capture_ID(唯一) Cap_日期
1 2024 年 12 月 19 日

希望你能帮助我。

sql ms-access insert ms-access-2016
1个回答
0
投票

我的理解是,你有一个表 2,每天包含一行,整数为

capture_id
,日期为
cap_date
,我将其称为
calendar
,并且你希望将捕获 id 添加到表 1,当前日期的
capture_id
来自表 2。

在这种情况下,我实际上会创建表 2,以便

capture_id
不是序列,而是以下结果:

YEAR(cap_date)*10000+MONTH(cap_date)*100+DAY(cap_date)

...给你这张表:

捕获_id 上限日期
20241218 2024-12-18
20241219 2024-12-19

因此,您可以使用与表 2 相同的表达式将

cap_date
:

插入到表 1 中

YEAR(DATE())*10000+MONTH(DATE())*100+DAY(DATE())

至于

capture_num
,即捕获日期内的序数捕获编号,我需要查找MS Access现在是否支持像
ROW_NUMBER()
这样的窗口函数,如果我找到了,我会回到这里。

© www.soinside.com 2019 - 2024. All rights reserved.