【发布时间】:2012-12-01 05:55:24
【问题描述】:
我有三张桌子:
POP(country, year, pop)
FOOD(country, year, food)
INCOME(country, year, income)
我正在尝试创建一个视图,例如:
V(country, year, pop, food, income)
到目前为止,这是我的代码。我认为它不正确:
CREATE VIEW V AS
(SELECT * FROM POP
UNION
SELECT * FROM FOOD
UNION
SELECT * FROM INCOME);
一个问题是,POP 中存在的国家/地区可能不在FOOD 中。一年也一样。 POP 中存在的年份可能不会出现在 FOOD 中。所以,我一直认为上面的代码行不通。
【问题讨论】:
-
这有点偏离轨道。联合连接会整理来自多个表和/或查询的行,这些行和/或查询都具有相同的列。
-
您的代码还不错,只是您有点困惑。从好的方面来说,你知道你错了,这很重要。是否有任何表具有完整的
country/year对?您应该在标签中选择 MySQL 或 PostgreSQL,这两个数据库的解决方案不一定相同。
标签: mysql sql postgresql