A表是某个商品的属性表,schema如下:
---------------------------
sku_id | a1 | a1_datetime |
---------------------------
其中sku_id是商品id;a1是商品的某个属性,例如评论数量;a1_datetime是采集商品属性的时间,每隔固定时间采集一次,如2018-07-01,2018-07-06,2018-07-11等
B表是客户浏览商品的记录表,schema如下:
---------------------------------
user_id | sku_id | buy_datetime |
---------------------------------
其中sku_id是商品id;user_id是客户id;datetime是购买时间,是随机的时间,如2018-07-05,2018-07-08,2018-07-12等
现在希望将A表和B表拼接成为C表,schema为
-------------------------------------------------------------
user_id | sku_id | buy_datetime | a1 | a1_datetime |
-------------------------------------------------------------
要求C表中每个商品sku_id的属性值a1,必须是在购买时刻之前最近的一次采集时间点采集的。
注意:
1.sqlite中时间函数julianday('time'):将返回从格林尼治时间的公元前 4714 年 11 月 24 日正午算起的天数。
2.sqlite中只支持left join,请将right join变成left join
3.sqlite中创建临时表语法是
CREATE TABLE new_table AS SELECT expressions FROM existing_tables [WHERE conditions];