我有一个用于上传用户图库的表格。 我需要使用gallery.created_at的用户上传2个月或更长时间。 我试过这个,但它给了我0个结果
select `galleries`.`client_id` as `client_id`,
`users`.`first_name` as `first_name` from `galleries`
inner join `users` on `users`.`id` = `galleries`.`client_id`
where `galleries`.`session_id` is null and
`galleries`.`is_video` = '1' and `galleries`.`is_thumb` = '1' and
galleries.created_at >= galleries.created_at - INTERVAL 2 MONTH
`galleries`.`client_id` not in (select `client_id` from
`orders`)
答案 0 :(得分:1)
问题出在这里:
galleries.created_at >= galleries.created_at - INTERVAL 2 MONTH
且缺少AND
。
或许curdate
可能就是您所需要的:
select g.client_id as client_id,
u.first_name as first_name
from galleries g
inner join users u on u.id = g.client_id
where g.session_id is null
and g.is_video = '1'
and g.is_thumb = '1'
and g.created_at <= curdate() - INTERVAL 2 MONTH
and g.client_id not in (
select client_id
from orders
)
我使用<=
因为您的要求声明上传了2个月或更长时间。