Postgres转换由current_date计算的日期数组 - 整数数组

时间:2017-08-16 19:15:33

标签: postgresql

是否可以查询字段,整数数组,并根据current_date返回一个Dates数组 - 一个int值。

我的数据结构类似于

_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. 使用Category:send_reminders生成日期数组([1,2,3]生成[昨天,前一天,前两天])
  2. 然后使用约会日期在该数组中的条件。
  3. 在该约会中选择联系人为真的客户。

1 个答案:

答案 0 :(得分: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