0
次の大きなクエリコードでは、次のエラーが発生します。on節比較のエラー - Big Query
select
selected_date date,
pp.name property,
bb.bookings bb,
av.available vailable,
from
(SELECT DATE(DATE_ADD(TIMESTAMP("2017-10-01"), pos - 1, "DAY")) AS selected_date
FROM (
SELECT ROW_NUMBER() OVER() AS pos, *
FROM (FLATTEN((
SELECT SPLIT(RPAD('', 1 + DATEDIFF(TIMESTAMP(CURRENT_DATE()), TIMESTAMP("2017-10-01")), '.'),'') AS h
FROM (SELECT NULL)),h
)))) v
cross join
(select p.name name from [roomsproperties.properties] p where p.name not like '%test%' group by name) as pp
left join
(select sum(b.rooms) bookings,
p.name property,
b.checkin checkin,
b.checkout checkout
from [bookings.bookings] b
left join [roomsproperties.rooms] r on r.id = b.room_id
left join [roomsproperties.properties] p on p.id = r.property_id
where p.name not like '%test%'
and b.status not in('Rejected', 'Cancelled - By customer', 'OTP Not Varified')
group by property,checkin,checkout
) as bb on pp.name = bb.property and (v.selected_date between bb.checkin and bb.checkout)
left join
(select sum(r.quantity) available,
p.name property,
date(r.created_at) date
from [roomsproperties.rooms] r
left join [roomsproperties.properties] p on p.id = r.property_id
group by property, date
) av on pp.name = av.property and v.selected_date >= av.date
誤りがあり、
エラー:ON句のテーブル名が付いすべてのフィールド名と、各テーブルから1フィールド名の=の比較のでなければなりません。いずれかの助け
として、代わりに標準SQLを使用することを検討してください。同じ制限がありません。デフォルトで標準のSQLを使用する[新しいBigQuery UIのプレビュー用に登録する](https://docs.google.com/forms/d/e/1FAIpQLSf6hyfvoWZ8eUbbKWq9fzVfj7ljVyl2SdhtWH038Xrx2eHVrw/viewform)が可能です。 –