代码之家  ›  专栏  ›  技术社区  ›  d-man

子查询的IN子句参数

  •  0
  • d-man  · 技术社区  · 6 年前

    select * 
    from calendar c 
    where c.date= to_date('2018/03/09','yyyy/mm/dd') 
     and c.date >= all(select date from calendar c2 where c.date = c2.date)
    

    如何使用上面的查询作为子查询,并将in子句作为参数传递给下面的查询?

    select * from (
    
    /*above query inside and iterate over in param*/
    
    )abc where abc.date in (to_date('2018/03/09','yyyy/mm/dd') ,to_date('2018/03/10','yyyy/mm/dd') )
    
    3 回复  |  直到 6 年前
        1
  •  0
  •   Giovanni Esposito    6 年前

    我不知道我是否正确地理解了你。这就是你想做的吗?

    SELECT * FROM (
        SELECT * 
        FROM calendar c 
        WHERE c.d_date= to_date('2018/03/09','yyyy/mm/dd') 
                AND c.d_date >= all(SELECT d_date FROM calendar c2 WHERE c.d_date = c2.d_date)
    )abc WHERE abc.d_date IN (to_date('2018/03/09','yyyy/mm/dd') ,to_date('2018/03/10','yyyy/mm/dd') );
    

        2
  •  0
  •   a_horse_with_no_name    6 年前
    select * 
    from calendar c 
    where c.date in (to_date('2018/03/09','yyyy/mm/dd') ,to_date('2018/03/10','yyyy/mm/dd') )
     and c.date >= all(select date from calendar c2 where c.date = c2.date)
    

    试试这个。

        3
  •  0
  •   d-man    6 年前

    select * 
    from calendar c 
    where c.date >= all(select date from calendar c2 where c.date = c2.date) 
    and c.date in (to_date('2018/03/09','yyyy/mm/dd'),to_date('2018/03/10','yyyy/mm/dd') )