你好,我是一个SQL初学者,尤其是postgresql。 我有一个表,看起来是这样的:如何添加具有开始日期和结束日期的数据集的日期?
ID | Entity | Startdate | enddate
------| ------ | ------ | ------
1 | Hospital |2013-01-01 |2013-01-31
1 | Clinic |2013-02-01 |2013-04-30
1 | Hospital |2013-05-01 |2013-05-31
我想在这种情况下,做的是,在开始和结束日期跨度超过一个月,打破出来,所以上表想这个:
ID | Entity | Startdate | enddate
------| ------ | ------ | ------
1 | Hospital |2013-01-01 |2013-01-31
1 | Clinic |2013-02-01 |2013-02-29
1 | Clinic |2013-03-01 |2013-03-31
1 | Clinic |2013-04-01 |2013-04-30
1 | Hospital |2013-05-01 |2013-05-31
如果你注意到第2,3和4行按月分解了,并且ID和实体也被复制了。
有关如何在postgresql中运行此任何建议,将不胜感激。
P.S道歉我试图弄清楚如何正确地创建上述表格。困难的是,数字和单词之间的管道是表格中的线条。 希望它不要太混乱。要做到这一点
monthends可能是使用generate_series进行的CTE。 – Jasen
@Jasen是的,你可以做到这一点。感谢您的建议。最后,在永久性表格的使用和执行速度之间实际上是一种折衷。 –