从3个表中选择分组表

时间:2014-06-24 19:52:18

标签: php mysql sql join

我在MySQL中有3个表。

excel - 是我存储site-name和side-id的表 analys_result - 是我存储网站关键字的表,它有关键字,类别ID,网站ID。 类别 - 包含类别的名称和ID

以下是表格的截图,以及我需要检索的内容:

Excel表格 enter image description here

analys_result表
enter image description here Category

结果 enter image description here

1 个答案:

答案 0 :(得分:1)

只使用sql,你能得到的最好的是:

select e.id, e.url, c.CategoryName, a.Keywords, count=sum(a.count)
from excel e, categories c, analys_results a
where e.id = a.websiteid
and a.categoryid = c.id
group by e.id, e.url, c.CategoryName, a.keywords
order by e.id, e.url, c.CategoryName, a.keywords

这将为您提供正确的数据,但分组字段(id,url,categoryname)将显示在结果集中的每一行(而不是每组ONCE),并使查询以使用复杂SQL的方式工作<强>不推荐。让数据库为您提供数据,让您使用的UI或报表工具决定您希望如何显示结果。