Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.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
Php 从多个子表中选择_Php_Mysql_Select_Join - Fatal编程技术网

Php 从多个子表中选择

Php 从多个子表中选择,php,mysql,select,join,Php,Mysql,Select,Join,我有一张名为meeting的桌子,还有一张名为meeting\u permissions的桌子。后者存储用户参加任何给定会议的内容。我还有其他表格:备注、讨论、结论和主题,它们存储了会议记录的特定项目。我想做的是获取特定用户参加的所有会议,以及所有相关的笔记、讨论、结论和主题。以下是我的想法: SELECT * FROM meeting WHERE id IN (SELECT meeting_id FROM meeting_permissions WHERE user_id = $user)

我有一张名为meeting的桌子,还有一张名为meeting\u permissions的桌子。后者存储用户参加任何给定会议的内容。我还有其他表格:备注、讨论、结论和主题,它们存储了会议记录的特定项目。我想做的是获取特定用户参加的所有会议,以及所有相关的笔记、讨论、结论和主题。以下是我的想法:

SELECT * FROM meeting WHERE id IN
(SELECT meeting_id FROM meeting_permissions WHERE user_id = $user) 
LEFT JOIN conclusion ON meeting.id = conclusion.meeting_id 
LEFT JOIN discussion ON meeting.id = discussion.meeting_id 
LEFT JOIN note ON meeting.id = note.meeting_id 
LEFT JOIN topic ON meeting.id = topic.meeting_id

那对我不起作用。它在第二个左连接处断开。我能做些什么来解决这个问题?

您可以根据您的子选择而不是主会议桌加入:

SELECT 
  meeting.*,
  conclusion.*
  discussion.*,
  note.*,
  topic.*
FROM meeting 
  LEFT JOIN conclusion ON meeting.id = conclusion.meeting_id 
  LEFT JOIN discussion ON meeting.id = discussion.meeting_id 
  LEFT JOIN note ON meeting.id = note.meeting_id 
  LEFT JOIN topic ON meeting.id = topic.meeting_id
WHERE meeting.id IN
  (SELECT mp.meeting_id FROM meeting_permissions mp WHERE mp.user_id = $user)

连接应该在WARE之前-这似乎可以通过一个查询实现这一点这给了我以下错误:“您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以了解在“.”附近使用的正确语法,注意。*,主题。*第4行的meeting.id=con“上的meeting LEFT JOIN conclusion”别理它。只是少了一个逗号。很抱歉少了一个逗号,我有打字错误:(