我的表格:

根据开始日期和结束日期,我需要获得类似以下内容的输出:

假设开始日期为2020年9月1日,结束日期为2020年9月9日(动态提供)。根据以上日期,date应为列名,id应为各列下的数据。如果id在相应的日期不存在,则在输入表中它应该为空。
我不能计算出对此的查询。请,有没有人建议我写上面的查询。
提前谢谢。
发布于 2020-09-29 20:22:00
您可以尝试这样做:
SELECT * FROM
(
SELECT name, dat, id
FROM tbl
)
PIVOT
(
max(id)
FOR dat IN ('01-Sep-2020', '02-Sep-2020', '03-Sep-2020', '04-Sep-2020', '05-Sep-2020', '06-Sep-2020', '07-Sep-2020')
)
ORDER BY name;https://dbfiddle.uk/?rdbms=oracle_18&fiddle=63413c3d5ce0e3a67e9c18d0fe39b21f
https://stackoverflow.com/questions/64118468
复制相似问题