Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何使用SQL join从四个表中获取数据_Mysql_Sql_Database - Fatal编程技术网

Mysql 如何使用SQL join从四个表中获取数据

Mysql 如何使用SQL join从四个表中获取数据,mysql,sql,database,Mysql,Sql,Database,我有四个表,即registry\u item、publish\u registry、registry\u user和premium\u user。我想从注册表\项表中获取所有项,其中发布\项注册表表中的用户状态为1,并且注册表\项用户表中的用户不超过7天,或者用户是高级\项用户表中的高级用户。我试过这个 SELECT * FROM publish_registry pr JOIN registry_item ri USING ( registry_id ) JOIN premium_user

我有四个表,即registry\u item、publish\u registry、registry\u user和premium\u user。我想从注册表\项表中获取所有项,其中发布\项注册表表中的用户状态为1,并且注册表\项用户表中的用户不超过7天,或者用户是高级\项用户表中的高级用户。我试过这个

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

很难用很少的信息来回答,正如其他人所说,请展示你所做的,以便其他人能够纠正你的答案,鉴于你的问题,我认为这可能有助于你理解你在寻找什么(最接近的答案)。但我没有使用join语句

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';
选择*
来自注册表项ri、公共注册表pr、注册表用户ru、高级用户pu
哪里
ri.primary\u key=pr.foreign\u key和pr.user\u status=1和
ri.primary\u key=ru.foreign\u key
和ru.user_date

如果有帮助,那就太好了!!或者陈述更多关于您工作的信息,以便我们提供帮助。:)

显示您尝试过的内容。您必须显示您的表结构。请小心将OR'd条件放在括号中。我怀疑这就是最后两个条件的含义。如果类别id发生变化,我会得到相同的数据。如果我将category_id设置为3,那么它的category_id 2Like@shawnt00的显示数据也应该与multiple
一起观察你的
条件,应该类似于
ri.category_id='2'和pr.status='1'和(ru.date\u added>NOW()-7或pu.registry\u id=ru.registry\u id)
这取决于您想做什么。