查找在任何月份购买ProductA然后在下个月立即购买ProductB的客户

时间:2019-08-13 04:34:26

标签: sql sql-server tsql

考虑此表

print(os.getcwd())

客户在一个月内购买一种产品,然后在下个月购买另一种产品。

我想记录下客户在任何月份购买过比萨,然后在下个月立即购买饮料的客户的记录。

例如,103位是此类客户。 100个看起来像一个,但他不是。

如何使用SQL查询实现这一目标?

1 个答案:

答案 0 :(得分:1)

您可以使用cross apply来实现。

select p.* from ProductSale as p 
cross apply ( 
    select * from ProductSale as ps 
    where p.cust=ps.cust 
    and p.month+1=ps.month 
    and ps.product = 'drink' 
    and p.product='pizza' ) as pg