Join BigQuery根据条件从2个表中选择值
我有两张桌子——预订和住宿。 我想在1.7之前获取数据。从1.7开始,从餐桌住宿开始。来自bookingcom 我试图用代码实现它:Join BigQuery根据条件从2个表中选择值,join,google-bigquery,Join,Google Bigquery,我有两张桌子——预订和住宿。 我想在1.7之前获取数据。从1.7开始,从餐桌住宿开始。来自bookingcom 我试图用代码实现它: SELECT CASE WHEN DATE(created) <= DATE("2015-07-01") THEN [ROI:ROI_accomodation.created] ELSE [ROI:bookingcom.created] END AS date FROM ROI.bookingcom,
SELECT
CASE
WHEN DATE(created) <= DATE("2015-07-01") THEN [ROI:ROI_accomodation.created]
ELSE [ROI:bookingcom.created]
END AS date
FROM
ROI.bookingcom,
ROI.ROI_accomodation
你能帮我一下吗,我哪里出错了?
从概念上讲,您的错误在于case-when-then语句要求在每行的这两个表之间进行选择,这只有在您加入它们时才有可能,但您接受了它们的并集 我的印象是,在同一个日期,你并不需要两张桌子,你只需要第一张桌子直到7月1日我假设你想要的是7月1日而不是1月7日,然后是第二张桌子。如果这是正确的,你可以做如下的事情
from
(select column1,column2,column3 from ROI:bookingcom where date(created) <= date('2015-07-01')),
(select column1,column2,column3 from ROI:ROI_accomodation where date(created) > date('2015-07-01'))
from
(select column1,column2,column3 from ROI:bookingcom where date(created) <= date('2015-07-01')),
(select column1,column2,column3 from ROI:ROI_accomodation where date(created) > date('2015-07-01'))