如何将数据插入到具有关系的2个表中

时间:2015-03-21 19:40:41

标签: mysql sql sql-server visual-studio-2013 ms-access-2013

假设我们有

ID int32FirstNam textLastName textTable 1

ID int32book textTable 2

我在Table1 ID父和Table2 ID之间有一个关系 如何根据table 2中的一个数据编写查询以在table 1中插入多个数据。

1 个答案:

答案 0 :(得分:1)

您需要添加第三个表来执行多对多关系。

IDUser int, FirstName text, LastName text (Table 1)
IDBook int, Book text (Table 2)
IDBook int, IDUser int (Table 3)

当用户借书时,您需要在表3中添加记录。

实施例。 你有:

Table 1:
User 1 (IDUser: 1), User 2 (IDUser: 2), User 3 (IDUser: 3)

Table 2: 
Book 1 (IDBook: 1), Book 2 (IDBook: 2), Book 3 (IDBook: 3), Book 4 (IDBook: 4)

假设用户2借用了第1册和第3册。您将拥有:

Table 3:
IDUser 2, IDBook 1
IDUser 2, IDBook 3

要将数据插入表3,您可以使用

用户2 - 第1册

INSERT INTO Table3(IDUser, IDBook)
VALUES(2, 1)

用户2 - 第3册

INSERT INTO Table3(IDUser, IDBook)
VALUES(2, 3)

要查询用户2借用的所有图书,查询将为:

SELECT
  *
FROM
  Table1
  JOIN Table3 ON Table1.IDUser = Table3.IDUser
  JOIN Table2 ON Table2.IDBook = Table3.IDBook
WHERE
  Table1.IDUser = 2

希望这会有所帮助