ORACLE SQL 我需要在三列中输出 generation_name ,日期,总计

Posted

技术标签:

【中文标题】ORACLE SQL 我需要在三列中输出 generation_name ,日期,总计【英文标题】:ORACLE SQL I need output in three column generation_name , date, total 【发布时间】:2020-04-15 14:59:08 【问题描述】:

这是一张桌子

预期输出为

【问题讨论】:

可以帮助我吗 下次请将表格数据粘贴为文本而不是显示图像。然后还要解释你的输出。 BTW:您标记了 Oracle 10 和 Oracle 11。您实际使用的是哪个版本? 该表输出为变为第二张图像 我明白你在问什么(至少我是这么认为的)——否则我不会发布答案。但是,如果您说“我的表包含日期范围 DATE_FROM 到 DATE_TO。我想拆分这些行以便在该范围内的每一天得到一行”,那么您的问题会更清楚。问题需要文字:-) 【参考方案1】:

如果您只想要三列,请使用以下语句:

SELECT generator_name, from_date Date, total from <your tablename>;

如果这不是您要搜索的内容,请提供更多详细信息。

【讨论】:

【参考方案2】:

您正在寻找递归查询:

with cte(generator_name, from_date, to_date, total) as
(
  select generator_name, from_date, to_date, total from mytable
  union all
  select generator_name, from_date + 1, to_date, total from cte where from_date < to_date
)
select generator_name, from_date as date, total
from cte
order by generator_name, date, total;

【讨论】:

使用 oracle 12. 好的,我已经相应地更正了您的请求标签。祝我的查询好运:-)

以上是关于ORACLE SQL 我需要在三列中输出 generation_name ,日期,总计的主要内容,如果未能解决你的问题,请参考以下文章

如何使用php在三列中显示列表?

如何对两列求和并通过减去它们的聚合 SQL 和 C# 在第三列中显示结果?

SQL查询以查找列和行中的最大值

在三列熊猫上应用 RMS 公式

从一列中提取特定字符串模式

从 SQL Server 中的所有列中删除引号