如何获取最近30天未在SQL中订购的客户列表?

时间:2019-12-09 10:31:45

标签: php mysql sql

我有两个桌子

  1. laces_order
  2. laces_order

laces_users_profile具有所有用户的订单列表。 laces_users_profile拥有所有客户数据。

laces_user_id具有唯一键laces_order,它是AddToList中的外键。

我的表格如下

laces_orders

enter image description here

laces_users_profile

enter image description here

我想检索最近30天未下订单的所有客户。

1 个答案:

答案 0 :(得分:1)

您可以使用left join反图案:

select u.*
from laces_users_profiles u
left join laces_order o
    on o.customer_id = u.laces_user_id 
    and o.create_date > now() - interval 30 day
where o.customer_id is null

使用not exists条件和相关的子查询可以达到相同的结果:

select u.*
from laces_users_profiles u
where not exists (
    select 1
    from join laces_order o
    where 
        o.customer_id = u.laces_user_id 
        and o.create_date > now() - interval 30 day

)