Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.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中从多个表获取数据_Mysql_Sql - Fatal编程技术网

在mysql中从多个表获取数据

在mysql中从多个表获取数据,mysql,sql,Mysql,Sql,我的目标是从以下表格中获取-用户的唯一组名和ID、用户组的最新评论、用户组的最新完成文章、完成文章的总数和文章总数。基本上是什么是在底部的表 到目前为止,我已经设法从groups表和文章中获得了数据,但我无法获得最新的评论 这是我的问题 SELECT `groups`.`name` , `groups`.`id` , ( SELECT MAX( `articles`.`written` ) FROM `articles` WHERE `group` = `groups`.`id

我的目标是从以下表格中获取-用户的唯一组名和ID、用户组的最新评论、用户组的最新完成文章、完成文章的总数和文章总数。基本上是什么是在底部的表

到目前为止,我已经设法从groups表和文章中获得了数据,但我无法获得最新的评论

这是我的问题

SELECT  `groups`.`name` ,  `groups`.`id` , (

SELECT MAX(  `articles`.`written` ) 
FROM  `articles` 
WHERE  `group` =  `groups`.`id` 
AND  `articles`.`done` =  '1'
) AS latestArt, (

SELECT MAX(  `comments`.`date_added` ) 
FROM  `comments` 
WHERE  `comments`.`article_id` =  `a`.`id` 
AND  `comments`.`active` =  '1'
) AS latestComm, SUM(  `a`.`done` =  '1' ) articlesAchieved, COUNT(  `a`.`id` ) AS totalArticles
FROM  `groups` 
LEFT JOIN  `articles` AS  `a` ON  `a`.`group` =  `groups`.`id` 
LEFT JOIN  `comments` AS  `c` ON  `c`.`note_id` =  `a`.`id` 
WHERE  `groups`.`user_id` =  '6'
AND  `n`.`active` =  '1'
GROUP BY  `groups`.`id`
我还尝试通过将所有内容都连接到article表来获取数据,但也没有成功:

更新了您的查询可能如下所示

选择g.id组\u id,g.name组\u名称, a、 上一篇文章,共篇文章,共完成, c、 最后评论 从组g左连接 选择“组”, MAXCASE WHEN done=1然后写入最后一次写入, 计数*文章总数, 全部完成 从文章 其中活动=1 和用户_id=1 分组` A. 关于g.id=a.`group`左连接 选择一个.`group`, MAXdate_添加了最后一条注释 从commants c连接到articles a 关于c.article_id=a.id 其中a.active=1 和a.user_id=1 一组接一组` C 关于g.id=c.`群` 其中user_id=1
你能以文本形式发布你的样本数据吗?图像很棒,但是不可能处理来自它的数据。我正在尝试为它设置一个sqlFiddle。我想就是这样!有一件事我不能分类MaxWrite last_Write只能是'done'文章,但如果我添加并完成'1',则计数*并不计算所有文章。知道如何让它运行吗。谢谢你的提问,我自己永远也做不到,而且速度很快!您可以尝试条件聚合。请参阅更新的答案。如果有帮助就告诉我。这太疯狂了!谢谢你们的帮助。说真的,我一个人做不到。这太棒了!谢谢,我在底部为用户添加了排序。我不太明白您想要如何排序,但您可以尝试在子查询和外部选择中将user_id=1更改为user_id IN0,1。