如何在MySQL中记录连续的记录集合
问题描述:
假设我有一个包含某种记录类型的表,例如"Fold the melted chocolate into the egg whites"
这样的烹饪说明。该表包含唯一的ID字段和字符串。如何在MySQL中记录连续的记录集合
我想为食谱(每个都有一个唯一的ID和一个名称)构建另一个表,每个表都是一系列顺序指令(某些指令将用于多个/多个食谱)。
什么是构建我的配方表的最佳方式,以将配方的唯一ID映射到连续的系列指令(该ID不是顺序的)?
答
尝试标准化的设计是这样的:
recipe
id name
1 Recipe1
2 Recipe2
recipe_instruction
recipe_id instruction_id sortorder
1 5 1
1 3 2
1 4 3
2 6 1
2 7 2
2 3 3
为了得到进一步的指令列表为特定的配方,你可以使用此查询:
SELECT i.the_string
FROM recipe_instruction AS ri
JOIN instruction AS i
ON ri.instruction_id = i.id
WHERE ri.recipe_id = 1
ORDER BY ri.sortorder
尼斯。通过将每条指令映射到1个recipe_ID,我甚至可以使食谱递归... – JDelage 2012-03-07 23:53:42