Mysql 查询3表上的多对多关系
我有三张桌子Mysql 查询3表上的多对多关系,mysql,sql,database,Mysql,Sql,Database,我有三张桌子 Partcar BarbellWheels Assembly 现在,我不知道如何管理此表以获得连接,因为零件车和装配是多对多关系。但是,BarbellWheels将与Assembly中的Partcar合并。如何使这3个表具有多对多关系,Partcar和BarbellWheels与Assembly。 如果可以的话,三表合一,什么样的查询来连接它们 到目前为止,我想的是,BarbellWheels先加入Partcar1st,然后加入Assembly 有什么建议吗 编辑: Partcar
Partcar
BarbellWheels
Assembly
零件车
和装配
是多对多关系。但是,BarbellWheels
将与Assembly
中的Partcar
合并。如何使这3个表具有多对多关系,Partcar
和BarbellWheels
与Assembly
。
如果可以的话,三表合一,什么样的查询来连接它们
到目前为止,我想的是,BarbellWheels
先加入Partcar
1st,然后加入Assembly
有什么建议吗
编辑:
Partcar上有5个数据,在装配中必须合并为1,杠铃轮将在装配中合并,最多有2个数据
编辑:
我只是觉得我没有提到这段关系。这是密码
CREATE TABLE `Partcar` (
`partcarID` Char(7) NOT NULL,
`partcar_price` decimal(19,4) DEFAULT NULL,
`partcar_name` varchar(100) DEFAULT NULL,
PRIMARY KEY (`PartcarID`)
);
ALTER TABLE `assembly` (
`assemblyID` char(8) NOT NULL,
`assembly_price` decimal(19,4) DEFAULT NULL,
`partcarIDFK` int(10) NOT NULL,
`barbellIDFK` int(10) NOT NULL,
PRIMARY KEY (`assemblyID`),
UNIQUE KEY `partcar` (`partcarIDFK`),
UNIQUE KEY `barbell` (`barbellIDFK`),
CONSTRAINT `partcarIDFK` FOREIGN KEY (`partcarIDFK`) REFERENCES partcar(`partcarID`),
CONSTRAINT barbellIDFK FOREIGN KEY (`barbellIDFK`) REFERENCES barbell(`barbellID`)
);
ALTER TABLE `barbell` (
`barbellID` char(10) NOT NULL,
`name_barbell` varchar(100) DEFAULT NULL,
`carIDFK` int(10) NOT NULL,
PRIMARY KEY (`barbellID`),
UNIQUE KEY `car` (`carID`),
同样的情况下,在下面的网址,找到解决办法也
考虑以下几点: 食谱
recipe_id recipe
1 cheese on toast
2 macaroni and cheese
配料
ingredient_id ingredient
101 cheese
102 toast
103 macaroni
配方与配料
recipe_id ingredient_id
1 101
1 102
2 103
2 104
有什么建议吗?是的-将表格定义、样本数据和预期结果作为文本添加到您的问题(或sqlfddle)@P.Salmon我正在尝试,但是,您能给我举个例子吗?我不能提交图片,除非给你一个链接图片,我对使用sqlfddle感到困惑,我还是sql的初学者。我缺少什么吗?您的图表没有描述外键关系。。有吗?如果是,你能编辑你的问题吗?如果不是,你应该考虑对你的数据进行键,以便它能很好地加入。@ TalyIm已经加入了它,但是在数据库中看起来像是输入了<代码> ID <代码>。然后,我只是用
选择和WHERE
和ID
?但是,我得到了3张表。不是2.所以现在你知道该怎么做了!不,我的意思是,我仍然不知道如何使用细节表,我在谷歌上搜索它,为什么使用左连接而不是内部或外部?堆栈溢出对他们所谓的“仅链接的答案”表示不满。我不确定,但我怀疑这就是你被否决的原因。有关如何改进答案的更多信息,请参阅中的讨论