これは少し畳み込まれているように聞こえるかもしれませんので、私にご負担ください。イベント後に発生したレコードのみを表示する方法 - 。 Redshift/Postgresql -
私は2つのテーブルを持っています。
注文番号、storenumber、得意先、ordervalue、
他purchasedate多くの列を持っている私のマーケティングのイベントテーブルですが、私は使用しています:
一つは列があり、私の売上高は次のとおりです。
EVENTTYPE、subscriberkeyとEVENTDATE
私はこれが彼らの現在の構造
marketing.eventtype = sales.ordernumber、marketing.subscriberkey = sales.customeridとsales.purchasedate = marketing.eventdateである労働組合のテーブルを持っています。空の場合、注文額と店舗番号はnullです。
私は、イベントタイプまたは複数のイベントタイプの直後に来た販売を表示する必要があります。そのため、customerid/subscriberidによって注文されたリストの最後のレコードとして販売が表示されます。
また、特定の日付間のマーケティングイベントに限定し、販売日の変換のウィンドウを与えたいと考えています。
SELECT ordernumber,
storenumber,
customerid,
ordervalue,
purchasedate FROM table.sales oh
WHERE purchasedate > '2016-01-16'
AND purchasedate < '2016-01-24'
AND ordervalue > 0
AND customerid IN (SELECT subscriberkey
FROM table.marketing
WHERE eventtype = 'Open'
AND eventdate < '2016-01-19'
AND eventdate > '2016-01-15')
UNION
SELECT eventtype AS ordernumber,
NULL AS storenumber,
subscriberkey AS customerid,
NULL AS ordervalue,
eventdate AS purchasedate
FROM table.marketing
WHERE eventtype = 'Open'
AND eventdate < '2016-01-19'
AND eventdate > '2016-01-15'
AND subscriberkey IN (SELECT customerid
FROM table.sales oh
WHERE purchasedate > '2016-01-16'
AND purchasedate < '2016-01-24'
)
ORDER BY customerid,
purchasedate ASC
「自然な販売」とマーケティングの隆起を比較したくないのですか?イベントの後に売り上げを数えるだけで、偏ったイメージが得られます。 – Guy
コメントに感謝 - それはその一部になりますが、この作品のためではありません –
これは何よりも帰属を見ることです –