基于其他 SELECT 参数的不等式基础 SQL

Posted

技术标签:

【中文标题】基于其他 SELECT 参数的不等式基础 SQL【英文标题】:Inequality base SQL base on other SELECT parameters 【发布时间】: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

【问题讨论】:

【参考方案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 

【讨论】:

以上是关于基于其他 SELECT 参数的不等式基础 SQL的主要内容,如果未能解决你的问题,请参考以下文章

SQL 服务器:使用 select 和其他参数插入

sql参数查询

保存整数列表的 SQL 变量

Access 2010 应用基础 单元三:SQL查询

多个 <select> 下拉列表作为 sql 参数 | PHP

MyBatis映射器总结