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大于特定的date(x),其中表1中的日期为8月18日

有人可以帮我查询吗?

最佳答案

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

试试这个查询:

enter code here
SELECT * FROM Table1
INNER JOIN Table2 ON Table1.user_id = Table2.user_id
INNER JOIN Table3 ON Table2.[phone no] = Table3.[phone no]

在Table3。[create_time] AND Table1。[Day] = RIGHT(CONVERT(CHAR(08),Table1。[Day],112),4)='0818'

另外,在创建列名时,最好的做法是没有空格,将其设为一个单词。这就是为什么当我加入table2和table3以避免出现错误时,我将方括号[]括起来。

关于sql - 从3张 table 中选择HIVE,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32216245/

10-12 23:04