我有6个表要查询,但是查询结果中出现重复的主键。以下是表格:
用户文章
id nomarticles
1 escarpin_estelle
2 Tallon_grace
文章大小
productid idsizes
1 1
1 2
2 3
2 5
尺寸
idsizes size
1 36
2 38
3 40
4 44
5 32
文章
id_article id_matiere
1 2
1 1
2 3
2 3
马蒂埃
matiereid matierename
1 daim
2 coton
3 polyster
article_imgs
imageid articleID filenames
1 1 rouge2017-10-03.jpg
2 1 2017-10-03-204220.jpg
3 2 moulante201.jpg
4 2 avec-decollete.jpg
欲望的结果应该是
id articlename size filenames matiere
1 escarpin_estelle 38,45 rouge2017-10-03.jpg,moulante201.jpg coton,daim
这是我的查询:
SELECT id,nomarticle,filenames,size,matierename FROM userarticles AS products LEFT JOIN article_imgs AS images ON images.articleID = products.id LEFT JOIN articlesize AS prodt ON prodt.idarticle = products.id LEFT JOIN sizes AS s ON s.idsizes = prodt.idsize LEFT JOIN articlematieres AS prodmat ON prodmat.id_article = products.id LEFT JOIN matiere AS m ON m.matiereid = prodmat.id_matiere WHERE products.id = 1
最佳答案
您确实有多个答案:products.id
= 1具有2张图像,2个尺寸和2个母像
除非您在WHERE
中指定更多字段,否则您确实无法获得唯一答案。
** ---可选--- **
您可以在查询中添加LIMIT 1
以获得第一个查询,但这可能是错误的。
关于php - 如何避免一对多关系中的联接表出现重复键?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46555222/