前提・実現したいこと
3種類ある日付で判別して配信状況が分かるBIに使うデータマートを作りたい。
###質問の内容###
1.[test1]テーブルの利用開始日が計測日から何日前かを一つのカラムにする。riyo_keika
2.利用開始日が28日以内か区別する。
3.同じ[test1]テーブルを内部結合して56>=(計測日-利用開始日)>=29という感じに
riyo_keika の範囲を指定し区別したい。
4.その結合したテーブルに別のテーブル[test2]をLeftjoinして
[test1]の利用開始日から[test2]の配信日が何日後かを区別したい。
###途中までのソース###
select
c.juchu_id,
c.houjin_mei,
b.kaishinai_flg,
b.riyo_keika
from
test2 as a
left join
(select
keisoku_dt - riyo_kaishi_dt as riyo_keika
,case
when riyo_kaishi_dt + 28 > keisoku_dt
then 1
else 0
end
as kaishinai_flg
,case
when riyo_keika between 29 and 56
then 1
else 0
end
as kaishinai_flg
from test1) as b
on c.juchu_id = a.juchu_id
inner join
(select
juchu_id
,keisoku_dt
from test1) as c
on c.juchu_id = b.juchu_id
;
###言語###
SQL
A5.SQL.Mk-2 64bit
###システム名###
redshift
試したこと
Where句、WITH句などサブクエリを試したが
使い方が間違っているのかエラーになる。
前提・実現したいこと
ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
ソースコード
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー