【发布时间】:2021-03-04 16:13:25
【问题描述】:
问题
在视图中执行查询时我丢失了记录。
常规查询
SELECT `COUNTRY`, COUNT(`COUNTRY`) from chile.tablechile
UNION SELECT `COUNTRY`, COUNT(`COUNTRY`) from costarica.tablecostarica
UNION SELECT `COUNTRY`, COUNT(`COUNTRY`) from elsalvador.tableelsalvador
UNION SELECT `COUNTRY`, COUNT(`COUNTRY`) from guatemala.tableguatemala
价值计数
| COUNTRY | COUNT |
|---|---|
| CHILE | 5488892 |
| COSTA RICA | 952113 |
| EL SALVADOR | 1346861 |
| GUATEMALA | 2744655 |
查看
CREATE VIEW `new_view` AS
SELECT `COUNTRY`, `COL1`, `COL2`, `COL3` from chile.flotachile
UNION SELECT `COUNTRY`, `COL1`, `COL2`, `COL3` from costarica.flotacostarica
UNION SELECT `COUNTRY`, `COL1`, `COL2`, `COL3` from elsalvador.flotaelsalvador
UNION SELECT `COUNTRY`, `COL1`, `COL2`, `COL3` from guatemala.flotaguatemala;
SELECT `COUNTRY`, COUNT(`COUNTRY`)
FROM view_database.new_view
GROUP BY `COUNTRY`
;
价值计数
| COUNTRY | COUNT |
|---|---|
| CHILE | 349638 |
| COSTA RICA | 61707 |
| EL SALVADOR | 51902 |
| GUATEMALA | 348985 |
【问题讨论】:
-
Union 带有免费的重复数据删除/distinct,您应该使用 union all。而且我看不出你有什么收获。
-
我猜你不需要我们告诉你你的架构很奇怪。
-
@Strawberry 哦,男孩,你不知道。我的客户有 Excel 思维模式(30 列,百万行),现在要求我在单个 PowerBI 中进行可视化。由于时间限制,无法创建合适的方案。
-
@P.Salmon 谢谢你的回答,我会试试 UNION ALL。我有什么收获?我需要在单个 PowerBI 中可视化所有数据,并且我正在尝试将单个表用作源。所有数据都在多个数据库中,Power 只能连接一个。