2

私は2つのMysqlテーブルを持っています

participants

id   |   name   | lastname |
-----------------------------
1    |    Jon   |   Bush   |
-----------------------------
2    |  Stephen |   Eagle  |

posts

id    |  parentid |  Title  |   text
--------------------------------------
1     |    1      |  Title1 |  Text1
---------------------------------------
2     |   1       | title3  |  text2
---------------------------------------
3     |      1    | title4  | text4
--------------------------------------
4     |      2    |   title |   ttext

そして、私はテーブルに出る必要があります

--------------------------
id (1) | Jon   | Title1, title3, title4
------------------------------
id (2) | Stephen | title

私はこれを試してみます

$result = mysql_query("SELECT name, Title, participants.id, parent FROM aposts, participants WHERE paricipants.id = parent.parent group by last_name  ORDER BY .......");

しかし、このケースでは、この親のすべての投稿を取得するために親にループすることはできません...誰かが私を助けることができるかもしれません....

4

1 に答える 1

3

これがまさにあなたが望むものかどうかはわかりません。Titleあなたの例を見て、あなたはカンマで区切られたすべてのIDとを返したいと思っていますNameGROUP_CONCATMySQL には、列ではなく行を連結するという組み込み関数があります。

SELECT  a.ID, a.Name,
        GROUP_CONCAT(b.Title) TitleList
FROM    participants a
        INNER JOIN posts b
            ON a.ID = b.parentID
GROUP   BY  a.ID, a.Name

出力

╔════╦═════════╦══════════════════════╗
║ ID ║  NAME   ║      TITLELIST       ║
╠════╬═════════╬══════════════════════╣
║  1 ║ Jon     ║ Title1,title3,title4 ║
║  2 ║ Stephen ║ title                ║
╚════╩═════════╩══════════════════════╝
于 2013-04-05T08:14:35.180 に答える