Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Join BigQuery根据条件从2个表中选择值_Join_Google Bigquery - Fatal编程技术网

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

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,

我有两张桌子——预订和住宿。 我想在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
你能帮我一下吗,我哪里出错了?
从概念上讲,您的错误在于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'))