首次使用初学者sql知识的海报(所以对我来说很容易)
我目前有一个SQL语句,它从表中提取月度数据,我希望根据上个月进行动态提取和滚动。
Select Month10_Values
,Month11_Values
,Month12_Values
from test_table;
我想用动态变量替换字段的数字,如下所示:
Select Month[curr_month-2]_Values
,Month[curr_month-1]_Values
,Month[curr_month]_Values
from test_table;
[curr_month]预先确定的地方(在这种情况下12基于假设日期为2013年12月1日)
对此的任何帮助都将非常感激,希望我已经有所了解。
由于
答案 0 :(得分:0)
你应该做那样的事情(简化)
declare
currMonth number:=12;
plsql_block VARCHAR2(500);
begin
plsql_block:='Select Month'||currMonth -2||'_Values,
Month'||curr_month-1||'_Values,
Month'||currMonth||'_Values
from test_table';
execute immediate plsql_block;
end
如果您想获得动态语句的结果,请查看here例如。