Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何将多个ID与MS SQL Server中的一行关联?_Sql Server_Database Design - Fatal编程技术网

Sql server 如何将多个ID与MS SQL Server中的一行关联?

Sql server 如何将多个ID与MS SQL Server中的一行关联?,sql-server,database-design,Sql Server,Database Design,我正在MS SQL Server 2014中处理一个个人图书馆数据库,我有两个名为Book和Genre的表。流派表中列出了一本书可以拥有的流派。我怎么能让一本书有多种类型而不重复我的属性,因为每本书可能有不同数量的类型 <Genre> ID | Name <Book> ID | Title | AuthorID | GenreID | GenreID2 | GenreID3 | ... etc ID |名称 ID | Title | AuthorID | Gen

我正在MS SQL Server 2014中处理一个个人图书馆数据库,我有两个名为Book和Genre的表。流派表中列出了一本书可以拥有的流派。我怎么能让一本书有多种类型而不重复我的属性,因为每本书可能有不同数量的类型

<Genre> 
ID | Name

<Book>
ID | Title | AuthorID | GenreID | GenreID2 | GenreID3 | ... etc 

ID |名称
ID | Title | AuthorID | GenreID | GenreID2 | GenreID3 |。。。等

您需要的是一个交叉引用表。该表可能如下所示:

  <BookGenre>
  GenreId | BookId

GenreId | BookId

对于适用于一本书的每一种体裁,您都会在该表中插入一条记录,其中包含相应的GenreId和BookId。

Duh当然可以。谢谢你,我刚才在这里画了一张空白。