クエリで変数を渡したいと思い、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で作成)と非効率的な方法で私の意見をスキップすることがあります。このクエリはデモ目的のためのものです。実際のクエリはこれよりはるかに複雑です。
これを実現する方法はありますか?
をIおそらく働いていたstrtok_split_to_tableを使った方法で微妙に変化していましたが、私のシステムにクラッシュダンプが発生したので、それに反対します。 – JNevill