小编rad*_*dha的帖子

如何用 Oracle 中应用 Lead() 函数的同一列的值替换最后一行中的 NULL?

我已在 Sales 列上应用了 Lead() 函数,并且由于 Lead() 对于列 following_year_sales 的最后一行返回 NULL ,我希望该值为 1990776.95 而不是 NULL ,如何解决这个问题?

在此输入图像描述

我已经使用了这个查询,输出如图所示。

SELECT 
 salesman_id,
 year, 
 sales,
 LEAD(sales) OVER (
 ORDER BY year
 ) following_year_sales
FROM 
 salesman_performance
WHERE
 salesman_id = 55;
Run Code Online (Sandbox Code Playgroud)

请帮忙 。

sql oracle window-functions

1
推荐指数
1
解决办法
1531
查看次数

为什么我们不能更新定义中有 DISTINCT 子句的视图?

如果视图的定义中有 DISTINCT 子句,则视图无法更新这一事实背后的逻辑我不明白。请举例指导。

sql oracle

1
推荐指数
1
解决办法
77
查看次数

如何在FROM子句中使用CASE语句来决定使用哪个表来获取Oracle中的数据?

我有两个表,HISTORY_DATA 和 CURRENT_DATA,我有一个输入参数 REPORT_DATE,根据以下条件,我必须获取数据:

IF(REPORT_DATE<=TRUNC(SYSDATE-40))THEN
         SCHD_TABLE:='HISTORY_DATA' ;
         ELSE
         SCHD_TABLE:='CURRENT_DATA';  
         END IF ; 
Run Code Online (Sandbox Code Playgroud)
  1. 我尝试使用动态 SQL,但它给出了无效表名的错误。

    SELECT * FROM ''||SCHD_TABLE||'' ;
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用 CASE STATEMENT 但它也给出了语法错误:

    SELECT * FROM (CASE WHEN REPORT_DATE<=TRUNC(SYSDATE-40) THEN HISTORY_DATA 
                        ELSE CURRENT_DATA 
                   END)
    
    Run Code Online (Sandbox Code Playgroud)

请指导如何解决这个问题。

sql oracle plsql

0
推荐指数
1
解决办法
55
查看次数

标签 统计

oracle ×3

sql ×3

plsql ×1

window-functions ×1