结合事实表和维度表的SQL语句?

Posted

技术标签:

【中文标题】结合事实表和维度表的SQL语句?【英文标题】:SQL statement to combine fact table and dimension table? 【发布时间】:2021-03-30 01:52:32 【问题描述】:

如果我有一个事实表和一个维度表,例如如下:

fact_table

事实密钥

dim_key

收入

成本

维度表

dim_key

广告商

产品

事实表有 4 行,维度表有 3 行。如何合并两个表?

【问题讨论】:

你试过使用外键吗? 我该怎么做?只使用普通的 dim_key 行? 是的 - 完全正确。当您使用查询命令来获取连接的表时,请使用JOINs。当表之间存在关系时,外键是很重要的。看看下面的答案:) 【参考方案1】:

由于fact_tabledimension_table 之间存在关系,您可能需要执行以下操作:

alter table fact_table
    add constraint fact_table_fk
        foreign key (dim_key) references dimension_table(dim_key);

对于您在选择行时要求的查询,请使用INNER JOIN 或任何其他JOIN statements

SELECT * FROM fact_table f
INNER JOIN dimension_table d
ON f.dim_key = d.dim_key

【讨论】:

以上是关于结合事实表和维度表的SQL语句?的主要内容,如果未能解决你的问题,请参考以下文章

维度表和事实表的区别

维度表和事实表的区别

维度表和事实表的区别

在Cognos中事实表的概念和维表的概念是啥

什么是ODS?还有什么是事实表和维度表啊?希望高手指教~

hive建立数据仓库 事实表的外键和维度表主键怎么关联 啥命令