Mysql 显示来自可以在同一表的列中具有相同数据的表的数据
我从网上抓取了一些数据,然后直接保存到数据库中,所以我得到了Mysql 显示来自可以在同一表的列中具有相同数据的表的数据,mysql,sql,group-by,group-concat,Mysql,Sql,Group By,Group Concat,我从网上抓取了一些数据,然后直接保存到数据库中,所以我得到了$title,$url,和$author。但是,一个标题的$author数量可以超过一个数据。因此,我将$author与$title和$url分开。所有id都是自动递增的 tb_wrapper tb_author ================= ================== |id| title | url| |id|author|$title| =================
$title
,$url
,和$author
。但是,一个标题
的$author
数量可以超过一个数据。因此,我将$author
与$title
和$url
分开。所有id
都是自动递增的
tb_wrapper tb_author
================= ==================
|id| title | url| |id|author|$title|
================= ==================
|1 |titleA |urlA| | 1| A |titleA|
================= | 2| B |titleA|
===================
在另一个过程中(从我得到的文件名与$title相同的文档文件中),我有一个表也包含$title
:tb\u doc
======================
|id | content | title|
======================
|1 | contentA|titleA|
======================
我需要从这3个表中获取数据,以便得到如下结果:
titleA有URLA内容A和作者A和B
代码如下:
$query = mysql_query("SELECT
tb_wrapper.url,
tb_wrapper.title,
tb_author.title,
tb_author.author,
tb_doc.content,
tb_doc.title
FROM
tb_doc
INNER JOIN tb_wrapper ON tb_doc.title = tb_wrapper.title
INNER JOIN tb_author ON tb_wrapper.title = tb_author.title ");
但是,从那个里,我得到了重复的结果,作者A和B被分开了。请帮帮我,我该怎么办?非常感谢:)像这样使用:
SELECT w.url, w.title, a.title, a.authors,
d.content, d.title
FROM tb_doc d
INNER JOIN tb_wrapper w ON d.title = w.title
INNER JOIN
(
SELECT title, GROUP_CONCAT(author SEPARATOR ', ') AS authors
FROM tb_author
GROUP BY title
) a ON w.title = a.title