有关如何创建存储来自2个不同表的数据的新表的任何提示吗?
例如:在线申请 - 图书馆
来自table =“用户”的用户命名杰克想要从table =“Books”预订名为Harry Potter的“书”。
现在应保存到新表=“预订”中,我们将获得已预订图书和“图书”名称的用户的信息
以后的管理员也可以显示相同的数据。
我会感激任何提示和帮助。
我也会对任何链接和教程/指南提供帮助。
谢谢。
答案 0 :(得分:1)
如果您正在谈论关系数据库,那么您的表结构应如下所示(此处包含一些示例数据):
用户表:
UserId:17
名字:吉姆
姓氏:史密斯
书桌:
BookId:42
姓名:哈利波特
预订表:
BookingId:4
UserId:17
BookId:42
预订表是您与用户及其图书之间的关联。在此处存储数据时,您应该只存储其他表的ID,并且预订表中的那些列(UserId,BookId)应该是指向其他表的外键。
当您需要显示信息时,您应该在查询中加入表格并获取所需的所有信息。
如果您需要添加其他关联,只需在预订表中添加另一行即可。例如,如果您有另一个ID为20的用户和另一个ID为75的图书,那么您只需将此行添加到您的预订表中即可:
预订表:
BookingId:5
UserId:20
BookId:75
一些帮助链接:
Normalization
SQL Joins
Foreign Keys
答案 1 :(得分:1)
如果你想像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
)
希望这有助于你