草庐IT

多对多

全部标签

mysql - 选择所有多对多关系

给定下表:author--------------idint(11)namevarcharauthor_type---------------idint(11)typevarcharauthor_has_type---------------author_idint(11)author_type_idint(11)我正在尝试编写执行以下操作的查询;给定作者类型,它将显示以下内容author.nametypes-Theauthorsname--Alltypesoftheauthor-现在我尝试使用的查询是Selectauthor.name,GROUP_CONCAT(author_type

php - 具有多对多关系的 Symfony 3 uniqueEntity 验证

我很难找到这个问题的解决方案:我有2类联系人和电话,具有多对多关系。phones表有2个字段:countryCode和number。我想检查2个联系人没有相同的电话号码,因此要对2个字段的组合进行验证。最后一个代码是这个,但我尝试了很多可能性。/***Contact**@ORM\Table(*name="contact"*)*@ORM\Entity(repositoryClass="EPI\PlatformBundle\Repository\ContactRepository")**@UniqueEntity(fields={"email"},message="cemailexiste

mysql - SQL:多对多关系和 'ALL' 子句

我有一个表products和一个表locations,它们以多对多关系与表products_locations链接在一起。现在客户可以选择一组产品,我想运行一个仅选择位置的查询,所有选定产品都在这些位置可用。起初这似乎很简单,但我发现自己对如何实现这一点感到很困惑。我最初以为我可以用类似的东西获得所有正确的位置IDSELECTlocation_idFROMproducts_locationsWHEREproduct_id=ALL[theuserselectedproductids]但转念一想这似乎也没有意义(products_locations的结构非常简单[product_id,lo

mysql - 任何人都可以提供多对多 MySQL 分步指南吗?

上下搜索,阅读所有可能的文章和教程后,我掌握了这个概念的基础知识,但仍然无法做到,所以我看到的其他人都是如此。有人可以发布关于MySQL多对多关系的创建和最基本用法的100%实用和虚拟证明指南吗,我相信很多人会从中受益。我有一张表,里面有很多项目,比如I1、I2、I3...我有另一个表,有很多属性,比如P1、P2、P3...例如,对于每个项目,每个属性可能为假或为真I1具有属性P2和P3I2具有属性P1、P2和P3I3具有属性P1...那么如何着手建立关系呢?(可能的话请给出代码)一旦创建,如何为某些项目插入属性I阅读哪些属性适用于某些现有项目I提前致谢 最

php - 多对多关系标签匹配?

我有一个艺术网站。我现在需要展示相关的艺术作品。我有3个表:art_info:art_id,titleart_tag_relationship:art_id,tag_idart_tags:tag_id,tag(intext)我正在尝试获取按最相关标签匹配排序的给定艺术作品的相关艺术。现在假设我有5件带标签的艺术作品艺术#1标签:红色、蓝色、绿色、黄色艺术#2标签:红色、橙色、紫色、黑色、黄色、蓝色艺术#3标签:红色艺术#4标签:蓝色、绿色艺术#5标签:白色、棕色所以现在我想按照最匹配到最不匹配的顺序获取与艺术#1最相关的艺术作品。我希望得到这样的结果#1的相关技术:最佳匹配=艺术#2(

php - 如何通过一对多优雅地检索数据库数据?

我正在查询数据库以检索一些包含一对多关系的信息。考虑:CREATETABLE`movies`(`id`int(10)unsignedNOTNULLauto_increment,`title`varchar(50)NOTNULL,`desc`textNOTNULL,PRIMARYKEY(`id`))ENGINE=MyISAMAUTO_INCREMENT=2DEFAULTCHARSET=utf8;INSERTINTO`movies`VALUES('1','ThePrincessBride','Afantasticfilmofepicadventure,action,andlove.');C

MySQL 将一对多组合成一行

我有一个一对多的表设置。我想要做的是加入表格,但不是让它返回显示不同组合的多行,我希望它返回具有3个字段的1行,一个用于多个表中的每一行。Data:dataID(primarykey),otherdata,otherdata,otherdataCodes:codeID,dataID(foreignkey),codeValue预期输出:dataID,codeValue1,codeValue2,codeValue3 最佳答案 selectconcat(DataID,',',CodeValues)ExpectedOutputfrom(se

mysql - 多对多关系修复

我有以下遗留数据库设置:CREATETABLE`categories`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(50)NOTNULL,PRIMARYKEY(`id`))CREATETABLE`items`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(50)NOTNULL,`category_ids`varchar(50)NOTNULL,PRIMARYKEY(`id`))其中category_ids是由逗号分隔的类别ID字符串:1,10,15,6。有没有一种方法可以将这个数据库转换为更

多对多关系的 CREATE TABLE 上的 MySQL 错误

我对简单的CREATETABLE查询有疑问。我在多对多关系中有两个表“‘resort’(带有resortID和resortName)和‘season’(带有resortID和resortName)。我正在尝试使用以下两个查询之一创建连接表resort_season:CREATETABLEresort_season(resortIDMEDIUMINTUNSIGNEDNOTNULL,seasonIDMEDIUMINTUNSIGNEDNOTNULL,FOREIGNKEY(resortID)REFERENCESresort(resortID),FOREIGNKEY(seasonID)REFER

mysql - 从模式中删除一对多关系

我们目前在MySQL数据库中有两个大表(表A与表B具有一对多关系),我们需要在它们之间进行连接,出于性能原因,我们希望删除此连接。是否有一种明智的方法来获取表B中的行并将它们表示在表A中的一列(或多列)中?我们已经研究过使用复合数据类型的数组,但似乎没有一种好的方法来索引这些数据或有效地查询它。我们目前使用的是MySQL,但正在考虑迁移到Postgres。不过,我们肯定会考虑可以为我们解决这个问题的任何数据库。 最佳答案 考虑使用中间View,它会加快这个过程。如果[A]-1---n-[B],也可以设置外键A到B,那么AxB笛卡尔积