问题标签 [many-to-many]
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.
oop - dbml 中的外部参照关系
所以我有一个这样的数据库模式:
用户用户
ID
RoleUserXRef
RoleUserId
RoleId
UserId
角色
RoleId
名称
在 User & RoleUserXRef 和 RoleUserXRef & Role 之间定义了外键。基本上,我在用户和角色之间有一对多的关系。
我将如何在 dbml 中对此进行建模,以便生成的 User 类具有用户分配给它们的角色列表?
sql - SQL 多对多匹配
我正在为网站实施标记系统。每个对象有多个标签,每个标签有多个对象。这是通过维护一个表来完成的,每个记录有两个值,一个用于对象的 id 和标签。
我正在寻找编写一个查询来查找与给定标签集匹配的对象。假设我有以下数据([object] -> [tags]* 格式)
如果我想匹配(红色),我应该得到苹果和救火车。如果我想匹配(水果,食物),我应该得到(苹果,香蕉)。
我如何编写一个 SQL 查询来做我想做的事?
@杰里米·鲁滕,
感谢您的回答。使用的表示法用于提供一些示例数据 - 我的数据库确实有一个表,每条记录有 1 个对象 id 和 1 个标签。
其次,我的问题是我需要获取与所有标签匹配的所有对象。用你的 OR 代替 AND 像这样:
运行时不产生任何结果。
many-to-many - MS Dynamics CRM 4.0 中的多对多关系 - 如何?
我正在为我大学的一个项目开发 MS CRM 服务器。
我想做的是让 CRM 的用户标记一些联系人,我想创建一个实体来归档标签,并在标签实体和联系人之间创建 N:N 关系。我已经创建并发布了新实体和关系,但我不知道如何在联系表单中添加查找字段,以便用户可以看到与一个联系人相关的标签并添加一个新的。
谁能帮我?
如果您无法理解我要做什么,请告诉我,我将重新制定。
谢谢
c# - LINQ to entity - 构建 where 子句以测试多对多关系中的集合
所以,我使用的是 Linq 实体框架。我有 2 个实体:Content
和Tag
. 它们彼此之间是多对多的关系。Content
可以有很多Tags
,Tag
也可以有很多Contents
。所以我正在尝试编写一个查询来选择任何标签名称等于的所有内容blah
实体都具有另一个实体的集合作为属性(但没有 ID)。这就是我挣扎的地方。我确实有一个自定义表达式Contains
(所以,无论谁可以帮助我,你都可以假设我可以为一个集合做一个“包含”)。我从以下网址得到这个表达式:http ://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2670710&SiteID=1
编辑 1
jpa - JPA - 具有复合键的表与其自身的多对多关系
我想使用 JPA 注释创建一个表(RoutePlace)与其自身的多对多关系。我想加入的表的独特之处在于它有一个复合键。
示例:https ://h4losw2.files.wordpress.com/2008/10/tables.png
有什么建议么?
提前致谢
sql - 如何编写通过关系表获取结果的 SQL 语句?(多对多)
我有 3 个表(档案有很多部分,部分(可能)属于许多档案):
archive
id PK
description
archive_to_section
archive_id PK FK
section_id PK FK
section
id PK
description
列出属于某个归档 id 的所有部分的 SQL 会是什么样子?
我只是在学习 SQL。从我读到的内容听起来我需要加入或工会?仅供参考,我正在使用 postgres。
[编辑]这是 gdean2323 的答案,没有别名:
c# - NHibernate 中的多对多删除级联
我在一个系统中有一个场景,我试图尽可能地简化它。我们有一个(让我们称之为)人工制品表,人工制品可以被任意数量的安全角色访问,安全角色可以访问任意数量的人工制品。因此,我们在数据库中有 3 个表 - 一个描述人工制品,一张描述角色,以及一个将人工制品 ID 链接到角色 ID 的多对多关联表。
在领域方面,我们有两个类——一个用于角色,一个用于人工制品。artefact 类有一个 IList 属性,它返回可以访问它的角色列表。(但是,角色不提供获取可以访问的人工制品的属性)。
因此,人工制品的休眠映射包含以下内容;
这一切都很好,如果我删除了一个人工制品,关联表将被适当地清理,并且删除的人工制品和角色之间的所有引用都被删除(尽管角色没有被正确删除——因为我们不希望删除孤儿)。
问题是 - 如何删除一个角色并让它自动清除关联表。如果我目前尝试删除一个角色,我会得到一个引用约束,因为该角色的关联表中仍有条目。成功删除角色的唯一方法是查询链接到该角色的所有人工制品,从人工制品的角色集合中删除该角色,更新人工制品,然后删除该角色 - 不是很有效或很好,尤其是在联合国 -简化的系统,角色可以与任意数量的其他表/对象相关联。
我需要能够向 NHibernate 提示我希望在删除角色时清除此关联表 - 这可能吗,如果可以的话 - 我该怎么做?
谢谢你的帮助。
sql - 有趣的多对多sql连接
我有三个相关表“A(id,val)”,“B(id,val)”和一个值为“AB(aid,bid,val)”的链接表
我正在查询 B 以带回 A 值,例如:
每个 A 都有很多 B,每个 B 都有很多 A。
我崩溃的问题是需要过滤集合,以便查询仅在 AB.val 是任何给定 A/B 对的最大值时才返回行
例如,如果我有数据:
一个
乙
AB
我只想选择 AB 的第一行和最后一行,因为它们是每个 A 的最大值,然后能够查询 B.val = 'foo' 以仅返回第一行。我不知道如何仅限制 AB 表中的 max val 行。
我能得到的最好的是
但这并不完全奏效。首先,它只是感觉是错误的方法,其次,它返回了错误的投标值。也就是说,从子查询返回的出价不一定与 max(val) 来自同一行。我相信这是一个已知的分组问题,当未为排序规则或分组指定列时选择返回的值未定义。
我希望上面的一些内容是有道理的,在过去的几个小时里,我一直在把头撞在墙上,任何帮助都将不胜感激。谢谢。
(对于那些想知道的人,它的实际用途是用于字典后端,其中 A 是单词表,B 是音素表。AB 是带有“位置”列的单词表。查询是查找所有以结尾的单词一个指定的音素。(音素是一个词的声音,在用法上类似于国际音标)
asp.net - ASP.NET 动态数据中的多对多关系
我需要在我的项目中使用多对多关系,并且由于动态数据本身不支持它,我想要求一个类似的实现示例。
我正在特别寻找一种方法来创建目标实体的新实例并将新的 m2m 关系添加到记录以及使用现有实例来创建关系。
我的时间很紧,所以非常感谢任何帮助。
linq-to-sql - 最简洁的 LINQ To SQL 用于获取多对多任一侧的 COUNT(*)?
请帮助我进行健全性检查。假设多对多关系:
发布,PostTagAssoc,标签 http://www.codingthewheel.com/pics/many_to_many.gif
什么是最简洁的方式(使用 LINQ to SQL)来获得一个结果集,显示每个标签(或帖子)分配给它的帖子(或标签)的总数?
谢谢!