【发布时间】:2017-08-04 17:02:47
【问题描述】:
我正在尝试使用此表在 Postgres 数据库中创建视图:
|----|------|------|--------|--------|--------|--------|
| id | t1_n | t2_n | value1 | value2 | value3 | valueX |
|----|------|------|--------|--------|--------|--------|
| 1 | A | X | 12 | 2 | 1 | .. |
| 2 | B | Y | 2 | 2 | 20 | .. |
| 3 | C | Z | 41 | 1 | 1 | .. |
| 4 | A | Z | 43 | 3 | 4 | .. |
| 5 | B | Y | 15 | 5 | 1 | .. |
| 6 | C | X | 52 | 2 | 5 | .. |
| 7 | .. | .. | .. | .. | .. | .. |
|----|------|------|--------|--------|--------|--------|
在视图中,每个区域都应与每个现有分区一起输入。 接下来的列包含来自各个 SELECTS 的结果。
查看:
|----|------|------|------|------|------|------|
| id | t1_n | t2_n | sum1 | sum2 | sum3 | sum4 |
|----|------|------|------|------|------|------|
| 1 | A | X | .. | .. | .. | .. |
| 2 | A | Y | .. | .. | .. | .. |
| 3 | A | Z | .. | .. | .. | .. |
| 1 | B | X | .. | .. | .. | .. |
| 2 | B | Y | .. | .. | .. | .. |
| 3 | B | Z | .. | .. | .. | .. |
| 1 | C | X | .. | .. | .. | .. |
| 2 | C | Y | .. | .. | .. | .. |
| 3 | C | Z | .. | .. | .. | .. |
| 3 | .. | .. | .. | .. | .. | .. |
|----|------|------|------|------|------|------|
sum1 应该是:
SELECT sum(value1) FROM table1 WHERE t1_n = [current_t1_n] AND t2_n = [current_t2_n];
sum2 应该是:
SELECT sum(value2) FROM table1 WHERE t1_n = [current_t1_n] AND t2_n = [current_t2_n];
sum3 应该是:
SELECT sum(value3) FROM table1 WHERE t1_n = [current_t1_n] AND t2_n = [current_t2_n];
也许是这样的:
for(t1_n){
for(t2_n){
set sum1, sum2, sum3, sumX...}}
谢谢,求帮助
【问题讨论】:
标签: sql postgresql select view