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/