mysql – 如何为一条记录显示多个名称但不重复记录?
作者:互联网
我有一个像这样的数据库结构:
Car
- id
- carname
- image
- category
- status
Parts
- partid
- partname
CarParts
- carpartid
- carid(fk)
- partid(fk)
- amountid(fk)
Category
- id
- categoryname
Amount
- amountid
- amountvalue
现在这就是我正在做的事情:
SELECT * FROM carparts
INNER JOIN car on carparts.carpartid = car.id
INNER JOIN parts on parts.partid = carparts.carpartid
INNER JOIN amount on amount.amountid = carparts.amountid where status = 1
当carparts表中有多个carpart时,这将返回重复记录.如何将carparts.id和car.id组合成一行,但仍然有一个记录的多个partname?
所以必须要发生的是每辆车可能有多个汽车零件,但是当查询运行时,如果一个记录有多个汽车零件,则显示具有不同零件名的重复记录,是否有一种方法可以让一辆汽车具有多个零件名称那个记录?
我是否必须更改数据库结构或查询才能执行此操作?
解决方法:
你的结构很好看.除了您可以将金额合并到零件表.因为每个部分都与价格紧密相关.
此外,如果您的任何维度表不遵循严格的主要约束,那么只有您将拥有重复行的原因.
Car
- id (pk)
- carname
- image
- category
- status
Parts
- partid (pk)
- partname
- amountValue
CarParts
- carpartid (pk)
- carid(fk)
- partid(fk)
- amountid(fk)
Category
- id (pk )
- categoryname
标签:php,mysql,mysql-5-5 来源: https://codeday.me/bug/20190807/1606306.html