SQL / MYSQL:选择联结表中的所有列

时间:2018-02-20 02:53:02

标签: mysql sql database

大家好我有一些问题如何正确检索联结表中的列数据。例如,我在联结表中有一个博客有很多关键字,我如何获得包含附加关键字的博客。

联结表:

 *junction_table*
  |id| blogID | keywordID|
  |0 | B43    | k12      |
  |0 | B43    | k13      |

让我们假设'B43'博客标题是“Hello World!” 'K12'关键字'有趣','k31'是'令人兴奋'。我想获取数据:

  {title: 'Hello World' : keywords: { "fun", "exciting" }

我怎样才能实现这一目标,甚至是否可能。谢谢

1 个答案:

答案 0 :(得分:0)

使用GROUP_CONCAT对关键字数据进行分组

SELECT blogID, GROUP_CONCAT(keywordID) FROM junction_table

如果您希望结果如此{title: 'Hello World' : keywords: { "fun", "exciting" }

你可以在下面

SELECT blogID as `title`, GROUP_CONCAT(keywordID) as `keywords` FROM junction_table

之后,使用PHP json_encode(array_here),它将生成string