我有一个“零件”表:
如此示例零件表:
我想制作这些部分的“群组”,例如,“正常”群组将是一本书和桌子,其中“额外”群组将成为一本书和桌子。
你可以做“SELECT * FROM'groups'WHERE name ='normal'”。我该如何做到这一点?
希望我解释得这么好(谷歌搜索“群组”因关键字的SQL群而失败)
答案 0 :(得分:2)
您需要第二个表来定义组以及属于它的项目。
因此,在这种情况下,您需要一个名为“Groups”的表,其属性为
(上面列出的外键约束不是严格必要的,而是主键 确实必须是GroupName和ItemID。如果它只是一个或另一个,表将无法正常工作。)
然后条目将是
然后你想使用像
这样的查询SELECT * FROM Groups, Parts WHERE Groups.ItemID = Parts.ID
或
SELECT * FROM (Groups JOIN Parts ON Groups.ItemID = Parts.ID)