我有四个表,即registry_item,publish_registry,registry_user和premium_user。我想从registry_item表中获取所有项目,其中user_registry表中的用户状态为1,用户在registry_user表中不超过7天,或者用户是premium_user表中的高级用户。我试过这个
SELECT * FROM publish_registry pr
JOIN registry_item ri USING ( registry_id )
JOIN premium_user pu USING ( registry_id )
JOIN registry_user ru USING ( registry_id )
WHERE ri.category_id = '2' AND pr.status = '1'
AND ru.date_added > NOW() - 7 OR pu.registry_id = ru.registry_id
答案 0 :(得分:0)
很难以非常少的信息回答,正如其他人所说,请展示你做了什么,以便其他人可以纠正你的回答,看到你的问题,我认为这可能会帮助你理解你在寻找什么(最近的答案) 。但我没有使用连接语句。
select *
from registry_item ri,public_registry pr,registry_user ru,premium_user pu
where
ri.primary_key=pr.foreign_key and pr.user_status=1 and
ri.primary_key=ru.foreign_key
and ru.user_date < DATE(DATE_SUB(curdate(), interval 7 Day))
AND ri.primary_key=pu.foreign_key and pu.user = 'premium';
如果它有用那么太棒!!或者说明有关您工作的更多信息,以便我们提供帮助。 :)