sql - SQL:选择一系列日期范围内的所有观察?
问题描述
我有一个 OLAP 结构化的 sql server 数据库。我的事实表是销售。
我有 2 个维度和 1 个事实表。尺寸如下:
Product (ProductID, ProductName, ProductDescription, ListPrice)
Promotion (ProductID, Discount, StartDate, EndDate)
事实表:
Sales (SalesID, CustomerID, ProductID, Date, ProductReturned)
请注意,促销维度没有自己的唯一标识符。我相信四元素元组是~复合主键。
首先,我想创建一个名为 的主键PromotionID
,将其存储在这个维度中。接下来,我想遍历销售事实表中的每个观察结果,如果观察日期在促销维度中的范围StartDate
->EndDate
内,我想将外键属性分配为PromotionID
. 最后,我想从 FKPromotionID
不是的销售事实表中选择所有观察结果NULL
。
两个问题:
- 我如何实现这种影响?
- 上述步骤是实现这一目标的最简单方法 - 还是有更简单的方法?
解决方案
推荐阅读
- pyspark - Pyspark:如何将行分组为 N 组?
- rust - 为什么 Rust HashMap 不允许使用“没有为结构 `HashMap` 找到名为 `insert` 的方法”插入值
- arrays - 派生数据类型中的 Fortran 字符数组
- python - ImageGrab 没有抓取精确的 bbox 图像
- java - 如何在 java 中获取 Linux 发行版
- spring-boot - StatusAggregator 的自定义实现
- pytorch - 在 python 中断言一个对象是什么意思?
- python - 使用 nltk 按日期标记化
- android - 如何在webview的html页面中下载pdf
- laravel - 定义像 auth::route 这样的函数