BigQuery根据条件从2个表中选择值

时间:2016-03-01 08:49:56

标签: 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,
    ROI.ROI_accomodation

但我得到以下错误:

 Field 'ROI:bookingcom.created' does not exist in any union input schema.

你能帮忙,我犯错了吗? 感谢

1 个答案:

答案 0 :(得分:0)

从概念上讲,你的错误是你的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'))