【问题标题】:Inequality base SQL base on other SELECT parameters基于其他 SELECT 参数的不等式基础 SQL
【发布时间】:2017-05-31 13:49:13
【问题描述】:

这是在 Big Query 中执行基于级联不等式的约束 SQL。 date1 用作中间参数。

Select  id, date, date1
 From   table1
 Where  date > date1  
        AND date1 in ( select dateref from table2)

循环内版本:

For all date1 in (select dateref from table2) :
   select id, date, date1
   from table1 
   where date > date1

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    一种特殊情况的解决方案,以防其他人寻找。 JOIN 可用于对齐两个表,如果它们共享相同的 id。

    select  same_id, date1,  dateref 
    
    from ( 
       select   g1.same_id,  date1,  g2.dateref  
       from   `log2*`   as g1
       JOIN
          (  
            select  dateref,
              from `log1*`
              WHERE _TABLE_SUFFIX BETWEEN '20170101' AND '20170630'
          )   as g2
          ON   g1.same_id = g2.same_id  
    
    
    where
         _TABLE_SUFFIX BETWEEN '20170101' AND '20170630'
    )
    where 
          date1 > dateref 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-10
      • 1970-01-01
      • 2019-05-20
      • 2015-08-07
      相关资源
      最近更新 更多