我有两张表:
total_table =
| Title | Value |
|-------|-------|
| total | 20 |
breakdown_table =
| Title | Value |
|--------|-------|
| total | 20 | (this is the same as the above table)
| type a | 10 |
| type b | 5 |
| type c | 5 |
我想创建一个新的表,其中包括来自
breakdown_table
的两列,但添加第三列显示分解百分比(100%,50%,25%,25%)。如何在不硬编码分母的情况下完成这个操作?以下是我尝试过的一些语法,但它一直给我关于逗号和等值连接的错误。我不想使用键连接表,我只想使用
total_table
中的单个值。data_out = SELECT breakdown_table.*,
breakdown_table.Value / total.Value
FROM breakdown_table, total_table;
总计
列),尤其是不要在表中存储(虽然偶尔需要卷积表,但在可能的情况下最好自动化)。话虽如此,我更想知道你似乎在这里有一个全局值的事实... - Clockwork-Musetotal_table
或者分类表中的total
行;您可能确实需要一个或多个_视图_来返回相同的信息。在面对故障和并发问题时,维护聚合表是危险的。 - Clockwork-Musetotal_table
中的数据 - 通过交叉连接,您暗示表中只会有一行(而且breakdown_table
只会有一个“集合”行,而不是来自两个不同事务或其他的行)。这似乎很奇怪,并且不是数据库中通常使用表的方式(可能作为存储过程中的临时表,但即使如此...)。因此,这让我担心您正在进入X-Y问题领域。 - Clockwork-Muse