gpt4 book ai didi

mysql - 显示来自同一个表的列中可以具有相同数据的表的数据

转载 作者:行者123 更新时间:2023-11-29 02:31:28 25 4
gpt4 key购买 nike

我从网上抓取了一些数据,然后直接存入数据库,所以得到了$title$url$author .但是,一个title$author的个数可以超过1个数据。因此,我将 $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_doc

======================
|id | content | title|
======================
|1 | contentA|titleA|
======================

我需要从这 3 个表中获取数据,因此我可以获得如下结果:titleA 有 URLA contentA 和作者 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 是分开的。请帮帮我,我必须做什么?非常感谢:)

最佳答案

使用GROUP_CONCAT像这样:

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

SQL Fiddle Demo

关于mysql - 显示来自同一个表的列中可以具有相同数据的表的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12660167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com