问题标签 [junction-table]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1519 浏览

.net - 如何查询联结表

使用实体框架/LINQ,我需要以下帮助。

该数据库有一个 People 表,其身份列是 PersonId。还有一个具有 SkillId 标识列的 Skills 表。这两个通过第三个表 PeopleSkills 连接,该表具有自己的标识列 PeopleSkillsId、引用 PersonId 的外部列和引用 SkillId 的外部列。

我正在尝试编写的方法传递了一个 List 类型的参数,其中包含我们正在寻找的任意数量的技能。该方法应返回一个与输入参数列表中的所有技能链接的列表。如何建立一个列表,排除没有技能列表中所有技能的任何人?

我遇到的问题是我的 SQL 经验很少。我确实有很多其他的编程经验,但是 SQL 对我来说总是有点粗糙。我考虑过使用联接,但这行不通。即,如果我的人具有技能 A 和 B,并且搜索列表包含 B 和 C 的元素,则连接将在 B 上匹配它们并返回该人。我需要排除这个人,因为他没有 B 和 C。

我还考虑过遍历技能列表并构建一个过滤器,但这看起来很难看。这似乎是构建 LINQ 来处理的问题,使用 List 来查询另一个 List,并且应该有一个优雅的解决方案。

0 投票
2 回答
234 浏览

sql-server - 合并交叉引用表中的行

我想创建一个 SQL Serverselect语句,其中交叉引用的数据位于不同行的一列中。我想使用stuff(如果可能的话)并且没有;with命令。

合约

公司

ContractContractorCrossRef表(联结表)

我想要这个结果:

填充数据:

选择:

选择结果:(不想要)

要求的结果:

0 投票
2 回答
259 浏览

wpf - 如何使用 WPF 在矩阵中显示联结表?

我有两个枚举:

和一个包含两个枚举的类

我想要两个枚举的复选框矩阵。数据从列表中读取并保存到列表中。此列表是实际的联结表。暂时我手动填写了清单:

矩阵现在应该如下所示:

我找到了一个 WinForm 解决方案,其中一切都在代码隐藏中完成: http: //social.msdn.microsoft.com/Forums/eu/winformsdatacontrols/thread/33fae605-902a-40e3-9bbb-60b77fc33b9b但不能用数据绑定在 xaml 中完成?

0 投票
1 回答
304 浏览

sql - 设计模式——数据库多对多

我有一个关于多对多关系的问题。我知道我们必须创建一个联结表。但是假设我们有这种情况:

一张客户表 一张订单表 一张产品表

一个订单可以有很多产品,而一个产品可能有很多订单。因此,我们创建了一个联结表。我可以在客户和产品之间创建一个连接表,这个连接将是一个存储订单的订单表吗?

谢谢

0 投票
1 回答
128 浏览

sql - Rails 3:可以用连接表订购吗?

我有一个嵌套表单,它为每个帖子创建了许多位置。每个位置也可以在多个帖子中使用。

例如,帖子 1 可能有 Location1、Location2 和 Location3

AND Post 2 可能有 Location1、Location4 和 Location5

我希望这些位置在帖子中的顺序与添加的顺序相同。我认为最简单的方法是在连接表(Posts_Locations)中添加一个“订单”列,但是我不确定如何:order_by在我的控制器中进行设置或定义。我应该直接使用 SQL 执行此操作吗?

有什么建议么?这是最好的方法吗?

0 投票
1 回答
775 浏览

nhibernate - 休眠。符合。在联结表中设置复合主键

我有两个表,我想创建一个联结表。我有这个映射。

它创建了联结表,但没有设置为主键*,复合键 {ProjectId , UserId}

我究竟做错了什么?

提前谢谢。

*当我被告知有关我的代码时,我也很奇怪地理解它。创建的表是由这个 sql 代码创建的:

我也希望像下面这样一行:

编辑2:(为了更好的视图)

0 投票
1 回答
6823 浏览

arrays - 连接表与外键数组?

我正在建模多对多关系,其中大部分时间仅从一侧访问该关系。它更像是一个层次结构,它是自上而下访问的,而不是相反。

调查有并且属于许多问题有并且属于许多答案

这两种关系必须是多对多的,因为同一个问题可以在不同的调查中重复使用,并且在许多问题中的答案相同。这是一个要求。

标准 M2M 实现将使用两个联结表,surveys_questions并且questions_answers. 相反,我正在考虑使用 PostgreSQL 的整数数组存储question_ids在 Survey 和answer_idsQuestion 中。

我们可以利用 ANY 运算符来查询与外键数组匹配的所有行。

我们将如何使用 SQL 查询所有带有问题和问题答案的调查?

我们如何将返回的行的顺序与外键数组匹配?IE。使用 question_ids = [1,2,3] 保证返回顺序为 1、2、3 的问题行。

与联结表相比,这在性能方面如何(假设有适当的索引,无论它们是什么)?

你会建议这个吗?是否有一些关于像这样建模 M2M 的资源?

更新

有人提议在 PostgreSQL 9.3 中添加数组外键的参照完整性,但没有被包括在内: http: //blog.2ndquadrant.com/postgresql-9-3-development-array-element-foreign-keys/

关于使用具有数组元素顺序的数组类型的外键数组 PostgreSQL JOIN 维护顺序的问题,如何实现?

0 投票
4 回答
1189 浏览

sql - SQL Server 中的选择性更新

我创建了一个像这样的连接表:

http://imageshack.us/scaled/landing/822/kantotype.png

我试图找出一个能够选择一些行的查询 - 基于PokémonID- 然后在主要的“过滤”之后只更新第一行或第二行。

例如:

假设我想从包含的第二行更改 TypeID 的值PokémonID = 2。我不能简单地使用UPDATE KantoType SET TypeID = x WHERE PokémonID = 2,因为它会改变两行!

我已经尝试使用包含IN,EXISTS和的子查询LIMIT,但没有成功。

0 投票
3 回答
86279 浏览

sql - MS SQL 使用联结表创建多对多关系

我正在使用 Microsoft SQL Server Management Studio,在创建联结表时,我应该为联结表创建一个 ID 列,如果是这样,我是否也应该将其设为主键和标识列?还是只为我要加入多对多关系的表保留 2 列?

例如,如果这将是多对多表:

我应该制作联结表:

[并制作Movie_Category_Junction_ID我的主键并将其用作身份列]?

或者:

[然后把它留在没有主键或身份表的地方]?

0 投票
2 回答
14099 浏览

sql - 对多个表进行 SQL 查询,其中一个是联结表

我有一个相当简单的数据库,由 4 个表组成:

我想查询所有消息,结果格式如下:

我形成了这样的查询:

它有点工作,但我得到了一些重复的结果。似乎如果一个 user_ID 多次出现在 GROUP_MATRIX 中,那就是当我得到该用户的重复结果时。显然我不明白我正在尝试做的 JOIN,有人可以帮我理解我做错了什么吗?