我有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/

10-12 16:25