将多行连接到一行的表

时间:2012-10-29 10:44:00

标签: php mysql sql join

我有一个看起来像的数据库:

TABLE 1
ID | NAME | PRICE

TABLE 2
TABLE1.ID | ITEM

正如您所看到的,表2可能包含对表1的多个引用。

是否可以创建一个提供这样结果的查询?

TABLE1.ID | NAME | PRICE | TABLE2.ITEM REC 1 |  TABLE2.ITEM REC 2 |  TABLE2.ITEM REC 3

2 个答案:

答案 0 :(得分:2)

考虑一下这个MySQL函数:GROUP_CONCAT(expr)。它肯定会回答你的问题

Mysql Documentation - group_concat()

答案 1 :(得分:1)

试试这个:

SELECT t1.*, GROUP_CONCAT(t2.ITEM) AS Items
FROM Table1 t1 
JOIN Table2 t2
  ON t1.ID = t2.TABLE1_ID
GROUP BY t1.ID

See this SQLFiddle