使用额外字段将多对多转换为常规连接表

时间:2013-03-06 09:26:00

标签: mysql sql

假设我有3个实体:Formula,Color和FormulaColor(基本上是一个连接表,但有一个额外的百分比列)。

我如何将其转换为仅使用常规连接表?

如果重要的话,百分比只是告诉给定颜色给定配方的百分比。

修改

我不太清楚。我想更改数据库的结构,以便百分比不存储在FormulaColor表中。我该如何做,但仍然保持跟踪特定公式的颜色百分比的功能?

另一个编辑,SCHEMA

这应该是所有必要的相关模式。

颜色

ID

ID

FormulaCOlor

COLOR_ID

formula_id

百分比

2 个答案:

答案 0 :(得分:0)

你没有提供关于桌子的足够细节我觉得你需要这样的东西:

Select * 
from formula f
foin formulacolor fc on f.id_formula = fc.id_formula
join colori c on c.id_colori = fc.id_colori

这是你需要的吗?

答案 1 :(得分:0)

希望这是你需要的

select * from formulaColor fc
 Inner join formula f on fc.formula_id = f.id
 Inner join Color c on fc.Color_id = c.id