sql - MySQL 连接多个表

标签 sql mysql aggregate-functions

新闻

nID  nTitle
-----------
1    test

关键字

kID kWord nID
--------------
 1   abc   1
 2   def   1
 3   ghj   1

所以我像这样获取它

$sql = mysql_query("SELECT * 
                      FROM news as n, 
                           keyword as k 
                     WHERE n.nID = k.nID");

PHP

while($row = mysql_fetch_array($sql)) {
echo "<div>".$row['nTitle']." - ".$row['kWord']."</div>";
}

如您所见,这将输出 3 行具有 3 个不同关键字的相同标题。 输出:

test - abc
test - def
test - ghj

我想要什么

test - abc def ghj

最佳答案

SELECT GROUP_CONCAT(kWord) FROM News NATURAL JOIN Keyword GROUP BY News.nID

但是兴趣是什么?

关于sql - MySQL 连接多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3916422/

相关文章:

sql - 尝试加入 Access 时出现语法错误

sql - PostgreSQL 中的正则表达式无法按预期工作

php - 在SQL中显示客户名称列表无访问报告的好方法是什么

mysql - Rails ActiveRecord - 有没有办法在没有 id 的情况下对表执行操作?

php - 使用带参数的 PDO COUNT 查询

mysql - 具有特殊修改的 SQL 选择查询

php - 如何在 laravel 中获取每个用户 ID 的最新行?

java - 用于查找最常出现的列值的 Hive UDAF

MySQL 查询数据库

arrays - 存储在 jsonb 中的数组的 Postgres 总和