【问题标题】:Do Impala or Hive have something like an IN clause in other SQL syntaxes?Impala 或 Hive 在其他 SQL 语法中是否有类似 IN 子句的东西?
【发布时间】:2013-11-01 13:18:49
【问题描述】:

Impala 或 Hive 是否有类似于 PL/SQL 的 IN 语句的内容?我正在寻找这样的东西:

SELECT * 
FROM employees
WHERE start_date IN
(SELECT DISTINCT date_id FROM calendar WHERE weekday = 'MON' AND year = '2013');

这将返回 2013 年星期一开始的所有员工的列表。

【问题讨论】:

    标签: sql hadoop plsql hive impala


    【解决方案1】:

    我应该提到这是一种可能的解决方案,也是我的首选:

    SELECT * 
    FROM employees emp
    INNER JOIN 
        (SELECT 
        DISTINCT date_id
        FROM calendar 
        WHERE weekday = 'FRI' AND year = '2013') dates
    ON dates.date_id = emp.start_date;
    

    【讨论】:

      【解决方案2】:
      select * 
      from employees emp, calendar c 
      where emp.start_date = c.date_id 
      and weekday = 'FRI' and year = '2013';
      

      【讨论】:

        【解决方案3】:

        hive 0.10 及更低版本当前不支持使用表达式的嵌套查询。你在 hive/impala 上运行什么版本

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-12-08
          • 2016-01-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-22
          相关资源
          最近更新 更多