如何从属于包含复选框的字段的多个表中获取数据?

时间:2009-09-30 22:20:02

标签: sql

我有一个令我困惑的项目。我正在为封口机创建二手销售车页。我有显示和编辑页面。在编辑页面中,用户将插入销售汽车记录或编辑现有记录。我的意思是这样一张桌子:

RecordID    CARNAME    Model    Year    KM     PRICE 

(这部分很好,很简单;但是车的详细信息将显示和编辑复选框,并且功能必须是可编辑的)),

(Checkbox1) Airbag   (Checkbox2) Sunroof  (Checkbox 3) Xenon lamb  etc.

我想我必须创建那些表: 汽车,标记,模型,功能(包括复选框)......但我如何从功能中获取数据;我怎么知道检查了哪张支票?我怎么知道哪辆车有哪些功能?

2 个答案:

答案 0 :(得分:1)

您需要的是一个表格,其中列出了由整数索引的要素:

特点:

featurecode   feature
1             airbag
2             sunroof
3             headlights
.....

然后你有一个表,列出每个REcordid的功能,其中recordid作为外键:

RecordIDFeatures:

RecordID     Featurecode
23032        1
23032        2
23034        3
........

然后为每辆车获取功能:

selectt f.feature, s.car from features f, salesCarRecord s,RecordIDFeatures r where  (r.recordid = s.recordid) and (r.featurecode = f.featurecode)

答案 1 :(得分:1)

您需要Features表格,然后是Features_Car junction table

Features Table
--------------

FeatureId | Name
----------------
1         | Sunroof
2         | Air Conditioning
3         | Power Steering

Features_Car Table
--------------

FeatureId | RecordId
----------------
1         | 1
2         | 1
3         | 1
1         | 2
2         | 2
1         | 3
3         | 3

基于UI中的复选框进行更新将是直截了当的,仅根据选中或取消选中复选框的联结表中的INSERTDELETE