【发布时间】:2018-07-01 19:11:48
【问题描述】:
我的情况的简化示例:
我有两张表(一张用于 2017 年,一张用于 2018 年),它们有两列,Category 和 Cost。
这两个表可能共享一些Categories,但它们各自也可能有一些独特的。
我正在尝试创建一个“主”视图,其中包含两个表之间所有类别的列表。
例如这就是我所拥有的
Table: 2017_Summary
+------------------+----------+
| Category | Cost |
+------------------+----------+
| Home Improvement | -1000.00 |
| Mortgage | -800.00 |
| Groceries | -500.00 |
| Bills | -400.00 |
| Taxes | -300.00 |
+------------------+----------+
Table: 2018_Summary
+------------------+----------+
| Category | Cost |
+------------------+----------+
| Mortgage | -750.00 |
| Groceries | -550.00 |
| Bills | -400.00 |
| Car Payment | -350.00 |
| Taxes | -300.00 |
+------------------+----------+
这就是我想要的:
View: Summary
+------------------+-----------+-----------+
| Category | 2017_Cost | 2018_Cost |
+------------------+-----------+-----------+
| Home Improvement | -1000.00 | 0.00 |
| Mortgage | -800.00 | -750.00 |
| Groceries | -500.00 | -550.00 |
| Bills | -400.00 | -400.00 |
| Car Payment | 0.00 | -350.00 |
| Taxes | -300.00 | -300.00 |
+------------------+-----------+-----------+
我可以弄清楚如何创建包含两个表之间共有的 Categories 的视图,但我不知道如何还包括每个表独有的视图并填写 0.00在那些值。 (如果更容易的话,我也可以填写NULL 而不是0.00。)
这就是我找出包含常见 Categories 的视图的方法,但这并不是我想要的:
CREATE VIEW SUMMARY (CATEGORY,2017_COST,2018_COST) AS
SELECT A.CATEGORY,A.COST,B.COST FROM 2017_SUMMARY A, 2018_SUMMARY B
WHERE A.CATEGORY = B.CATEGORY;
最后一个问题:如果使用两个以上的表(例如,还与2016_Summary 表结合),这个视图会变得更加复杂吗?
【问题讨论】: