如何在数据库中创建表,存储MS access数据库中2个不同表的数据

本文关键字:数据库 2个 数据 access 创建 存储 MS | 更新日期: 2023-09-27 17:53:33

关于如何创建存储来自两个不同表的数据的新表的技巧吗?

示例:Application Online - Library

用户名为Jack from table =" Users"想从table ="Books"中预订一本名为Harry Potter的"书"。

现在应该保存到新表="订票"中,其中包含预订了这本书的用户的信息和"book"的名称

之后的admin也可以显示相同的数据。

我将非常感谢任何提示和帮助。

我也会帮助任何链接和教程/指南。

谢谢。

如何在数据库中创建表,存储MS access数据库中2个不同表的数据

如果您谈论的是关系数据库,那么您的表结构应该是这样的(这里包含一些示例数据):

用户表:
用户标识:17
FirstName:吉姆
姓:Smith

书表:
BookId: 42
姓名:哈利·波特

预订表:
BookingId: 4
用户标识:17
BookId: 42

预订表是用户与其图书之间的关联。当您在这里存储数据时,您应该只存储其他表的id,并且预订表中的这些列(UserId, BookId)应该是指向其他表的外键。

当您需要显示信息时,您应该在查询中连接表并获得所需的所有信息。

如果需要添加另一个关联,只需在预订表中添加另一行。例如,如果您有另一个ID为20的用户和另一个ID为75的图书,那么您只需将这一行添加到预订表中:

预订表:
BookingId: 5
用户标识:20
BookId: 75

一些帮助链接:
正常化
SQL连接
外键

如果你想做像Bob先生的答案那样的代码

CREATE PROCEDURE StoreDataFromDiffTable
as
BEGIN
Declare @UserId int
Declare @BookId int
set @UserId =(select UserId from [User table] where FirstName = 'Jim')
set @BookId = (select BookId from [Book table] where Name ='[Harry Potter]')

insert into Booking table
(
UserId,
BookId 
)
values
(
@UserId,
@BookId 
)

希望这对你有帮助