【发布时间】:2010-02-05 18:13:46
【问题描述】:
我有这些表:
classified:
classified_id (PK)
price
headline
cat_id // THIS IS ANYTHING FROM 1 TO 30 DEPENDING ON CATEGORY. IT IS SO THAT I CAN LINK WHICH CATEGORY TO USE IN THE CATEGORY TABLE BELOW
text
etc...
category:
cat_id (PK)
cat_name
category_options:
option_id (PK)
cat_id (FK) // FOREIGN KEY FROM CATEGORY TABLE...
option_name
option_values:
value_id (PK)
option_id (FK)
classified_id (FK)
value
我应该如何在这里使用 join,谁能给我一个简单的例子?
这是我的设置示例:
category
cat_id cat_name
1 cars
category_options
option_id cat_id option_name
1 1 color
2 1 gearbox
option_values
value_id option_id classified_id value
1 1 22 red
2 2 22 manual
classified
classified_id price headline cat_id
22 5000 'test' 1 //for cars
我希望能够通过仅“知道”分类 ID(在本例中为 22)从一个类别(在此前车中)检索所有选项及其值。
基本上,我需要关于 join 语句的帮助...
请不要在代码中使用别名为我简化它:)
谢谢
【问题讨论】:
-
每个选项可以有多个值吗?您要根据
cat_id、classified_id还是两者来选择它们? -
不,每个类别有多个选项,但每个选项名称只有一个值...我想根据分类 ID 和 cat_id 选择它们,所以假设 cat_id = 1 和分类 ID = 22
-
那么 imo 没有真正的理由拥有
value_id,因为option_id和classified_id都会作为选项值的主键..