我需要创建这个表(不是真的用于甜甜圈)。
我基本上想输出在某个时间范围内销售产品的时间。
时间范围在表中定义,需要能够在不中断查询的情况下重新配置(删除和重新创建)。
也就是说,我们有兴趣监控的 time_frames 在设计上会经常变化。今天可能定义了 4 个时间框架(6 小时 ea),明天我可能只定义一个(24 小时),第二天可能有 12 行(2 ea)。time_frames 也可能具有不同的长度。列将保持不变。
CREATE TABLE time_frame
(
id SERIAL NOT NULL
,start_time time
,end_time time
,PRIMARY KEY(id)
);
CREATE TABLE donut_sales
(
saleid SERIAL NOT NULL
,donutid INT
,donutname TEXT
,stocked timestamp
,sold timestamp
,PRIMARY KEY (saleid)
);
-- SELECT * FROM FANCY_PIVOT_TABLE_I_DONT_UNDERSTAND
-- +---------+-------------+----------------+----------------+----------------+
-- | donutid | donutname | time_frame_1 | time_frame_2 | time_frame_3 |
-- +---------+-------------+----------------+----------------+----------------+
-- | 1 | sprinkles | 00:17:66 | 00:17:66 | 00:17:66 |
-- | 2 | jelly | 00:17:66 | 00:17:66 | 00:17:66 |
-- | 3 | custard | 00:17:66 | 00:17:66 | 00:17:66 |
-- +---------+-------------+----------------+----------------+----------------+