2017-08-16 13 views
1

フィールド、整数の配列を照会して、current_date - int値に基づいてDateの配列を返すことは可能ですか?current_dateによって計算された日付の配列をキャストするPostgres - 整数の配列

私のデータ構造は、私はその日の予定のリマインダーを持っている顧客を照会する

_Category_ 
name:string 
send_reminders:array[integer] 

_Appointment_ 
category_id:integer 
title:string 
event_date:date 

_Customer_ 
appointemtn_id:integer 
name:string 
contact:boolean 

のようなものです。私は

  1. 利用区分によって、これを達成できると思っていた:send_reminders日付の配列を生成する([1,2,3]が生成[二日前に昨日、前日、])
  2. は、次に使用しますここで、予定日はその配列に含まれます。
  3. 連絡先が真であるその予定の顧客を選択します。
+1

あなたはそれを取得したいのですが、いくつかのサンプルデータと結果を共有することはできますか?それは質問をはるかに明確にし、私たちがあなたを助けるのを助けるでしょう。 – Mureinik

答えて

2
select * 
from 
    category cat 
    inner join 
    appointment ap on cat.category_id = ap.category_id 
    inner join 
    customer ct on ct.appointment_id = ap.appointment_id 
where 
    ap.event_date in (
     select current_date - i 
     from unnest(cat.send_reminders) u (i) 
    ) 
    and ct.contact 
+0

不必要です!ありがとうございました! – Travis

関連する問題