Для каждого дня календарного года мне нужно проверять статус записи и отмечать его как 1 или 0 в зависимости от статуса (Опубликовано = 1, иначе 0). Статус находится в массиве, прикрепленном к каждой записи.
Я соединил таблицу с записями и массивами в таблицу с календарем, содержащим даты для каждого дня данного года.
`select
cdate,
YYYYMM,
_id,
createdat,
case when cdate>=statushistory.date and <statushistory.date and statushistory.status="Published" then 1 else 0 end as active,
statushistory
from bigquery.calendar
join rs.listings on extract(date from createdat)<=cdate, unnest(statushistory)
where _id ="HGk5HMd6ZxmSRgEJ6"
;`
Я застрял. Я не могу ссылаться на конкретные поля в statushistory
: statushistory.status
и statushistory.date
. Когда я пытаюсь сослаться на них, выдает ошибку, что они находятся в массиве.
Даже если бы я знал, как ссылаться на них, мне нужно поместить cdate
между двумя правильными statushistory.date
, чтобы определить статус.
Указанный выше _id имеет 4 статуса и 4 даты.
Моя цель - создать 1, если статус был «Опубликован» во время cdate
![enter image description here](https://i.stack.imgur.com/ZPUzx.png)