| 典型场景 | 日期、门店(发货/收货)、用户(买家/卖家) |
|---|---|
| 实现 | 同一物理维表加多个视图或别名 |
| 事实表 | 每个角色一个外键列 |
| 查询 | 多次连接同一维度,注意别名 |
多角色连接
多角色连接
SELECT od.date_desc AS order_date, pd.date_desc AS pay_date, SUM(f.amount)
FROM fact_order f
JOIN dim_date od ON f.order_date_sk = od.date_sk
JOIN dim_date pd ON f.pay_date_sk = pd.date_sk
GROUP BY od.date_desc, pd.date_desc;给每个角色取清晰的外键名(order_date_sk / pay_date_sk),否则两个日期列很容易接错。