Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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 从4个表中通过1个查询获取数据_Mysql - Fatal编程技术网

Mysql 从4个表中通过1个查询获取数据

Mysql 从4个表中通过1个查询获取数据,mysql,Mysql,我有以下表格: interests interests_statuses users_interests interests 用户可以有兴趣,基于他关注的兴趣,我需要在兴趣中发布状态 我不知道如何正确显示我的表,因此您可以理解所有表中的关系,但我将向您显示一个查询我尝试了以下查询,但该查询不起作用: SELECT s.*, i.*, i_s.*, u_s.* FROM statuses s, interests i, interests_statuses i_s, users_interest

我有以下表格:

interests
interests_statuses
users_interests
interests
用户可以有兴趣,基于他关注的兴趣,我需要在兴趣中发布状态

我不知道如何正确显示我的表,因此您可以理解所有表中的关系,但我将向您显示一个查询我尝试了以下查询,但该查询不起作用:

SELECT s.*, i.*, i_s.*, u_s.*
FROM statuses s, interests i, interests_statuses i_s, users_interests u_s
WHERE u_s.user_id = '3' AND u_s.interest_id = i.id AND i_s.status_id = s.id;

尝试像这样显式地使用连接

SELECT s.*, i.*, i_s.*, u_s.* 
FROM statuses s INNER JOIN interests i ON s.id = i.id
INNER JOIN interests_statuses i_s ON i_s.interest_id = i.id
INNER JOIN users_interests u_s ON u_s.interest_id = i.id
WHERE u_s.user_id = '3' AND i_s.status_id = s.id

我在这里遇到的问题是,我必须在一个点上连接两个表。例如:我需要获取所有状态,因此我从该表开始。然后我加入兴趣\ U状态,因为我需要获取绑定到该状态的兴趣的ID。然后,我需要加入兴趣以获得所有可用的兴趣,用户兴趣以获得用户到兴趣的关系。为什么要在用户兴趣上重复
。。。好啊我现在明白了——一个打字错误