【发布时间】:2011-05-16 04:47:08
【问题描述】:
我有一个数据库,其中我有许多表中的数据,例如关系
TABLE Cars (stock)
---------------------
Model colourid Doors
----------------------
xyz 0 2
xyz 1 4
TABLE Colour
Colourid Name
---------------------
0 Red
1 Green
我需要生成几个常规摘要,例如格式中的摘要。
| colour | Num Doors
Model | red green blue | 2 4 5 6
---------|----------------------|------------------
XYZ | 1 2 3 | 4 5 3 5 <<< Numbers in stock
更新 - “一辆汽车可以有门的排列,例如 2 门汽车或 4 门汽车。在摘要中,它显示了特定型号的每种门配置的库存汽车数量,例如有 4 辆汽车xyz 有 2 扇门。请记住,这只是一个例子,汽车可能不是最好的例子,我当时能想到的就是“
不幸的是,重新排列表格可能会使它们更适合摘要,但不适用于日常操作。
我可以想到几种方法来生成这些摘要的例如/多个 SQL 查询,并将表放在表示级别,SQL 级别 UNION 与多个查询,VIEWS 与多个嵌套查询或最后 cron 作业或触发代码以生成数据包含适合汇总查询和报告的数据的汇总表。
我想知道是否有人可以给我一些指导,考虑到这些方法效率不高,在多用户环境中变得更糟,并且可能需要定期总结。
【问题讨论】:
-
看看JOIN教程;这可能与您正在寻找的内容相似w3schools.com/sql/sql_join.asp
-
解释
Doors从您的第一个示例到第二个示例的关系?我有点困惑。 -
@Stephen 4 确定汽车可以有门布置,例如 2 门汽车或 4 门汽车。在摘要中,它显示了特定型号的每种车门配置的库存汽车数量。请记住,这只是一个例子,汽车可能不是我能想到的最好的例子。
-
@Piskvor JOIN 用于前两个表,但是,由于其复杂性,我认为生成摘要需要更多
-
我已经更新了一些帖子
标签: sql mysql database-design web-applications