1
我想在查詢中傳遞一些變量,並需要在Spotfire等報表工具中使用結果集。teradata中的參數視圖
select prod_id,sum(sal)
from cal c
where qtr_num in (:q)
group by 1
having sum(sal)>0;
:Q可以是單一的值( 'Q1')或多個值( 'Q1', 'Q2', 'Q3', 'Q4')爲好。
我知道我們可以使用宏作爲參數視圖。但我們不能在選擇部件/報告工具中使用該宏返回的結果集。
其他選項是創建沒有過濾器的視圖,然後在參數過濾器中使用該視圖。
create view v
as
(select prod_id,sum(sal)
from cal c
group by 1
having sum(sal)>0);
select *
from v
where qtr_num in (:q);
但這種方法可能會跳過分區訪問(創建於qtr_num)和低效的方式來查詢我的意見。此查詢僅用於演示目的。實際查詢比這複雜得多。
有沒有辦法在teradata中實現這一點?
我正在修補一個使用strtok_split_to_table的方法,可能會工作,但它導致了我的系統crashdump ...所以我會建議反對。 – JNevill