从3个表中选择HIVE

时间:2015-08-26 00:38:35

标签: sql hadoop hive

Table 1:
  - user_id
  - item_id
  - time
  - day
Table 2:
  - user_id
  - phone no
Table 3:
  - create_time
  - phone no

我必须从表1中获取所有item_id,其中user_id与表2匹配,表3中的create_time大于特定日期(x),其中表1中的日期是8月18日

有人可以帮我查询吗?

1 个答案:

答案 0 :(得分:0)

根据您的表结构,Table2和Table3之间的关系是电话号码。 ?

尝试此查询:

init

WHERE Table3。[create_time]<右(CONVERT(CHAR(08),表3。[create_time],112),4)='0818' AND Table1。[Day] = RIGHT(CONVERT(CHAR(08),Table1。[Day],112),4)='0818'

此外,当您创建列名称时,最佳做法是没有空格,请将其设为一个单词。这就是为什么我把括号[],当我加入table2和table3以避免错误。