我有两张桌子
customers (id, name....,created_at)
coupons (id, customer_id, ....,created_id)
我正在尝试计算所有优惠券,其中created_at是2015-12-29,而客户的created_at不是2015-12-29
select
count(*) as aggregate
from
`coupons`
where
(select count(*) from `customers`
where
`coupons`.`customer_id` = `customers`.`id`
and
DATE(`customers`.`created_at`) <> '2015-12-29') >= 1
and
DATE(`updated_at`) = '2015-12-29'
此查询工作正常,但当我再添加一个约束来查询client_id = 1
时,它不起作用。
select
count(*) as aggregate
from
`coupons`
where
(select count(*) from `customers`
where
`coupons`.`customer_id` = `customers`.`id`
and
DATE(`customers`.`created_at`) <> '2015-12-29') >= 1
and
DATE(`updated_at`) = '2015-12-29'
and
`client_id` = 1
它应返回非零值,但返回0
虚拟数据
客户
id, name, created_at
1 ehsan 2015-12-29 12:10:10
2 ehs 2015-12-28 12:10:10
优惠券
id, customer_id, updated_at client_id
1 1 2015-12-29 12:10:10 1
2 2 2015-12-29 12:10:10 1
3 2 2015-12-29 12:10:10 1