加入 3 个表而不重复的替代方法

alternative to join 3 tables without repeticions

我在mysql中有3个table,table A、B和C。
C 与 B 有关系 (b_id),B 与 A 有关系 (a_id)。

这意味着 A 有很多 B,B 有很多 C。对于 select 所有,我有这个查询:

SELECT a.id, a.name, a.text, b.ptext, c.ctext
FROM tableA as a
JOIN 
  tableB as b 
ON 
  (b.p_id = a.id)
JOIN 
  tableC as c 
ON 
  (c.p_pid = b.pid)
WHERE a.id = 1

其中 returns 这个:

| ID |  NAME |         TEXT |  BTEXT |  CTEXT |
|----|-------|--------------|--------|--------|
|  1 | page1 | futkdvthsa_1 | post_1 | thing1 |
|  1 | page1 | futkdvthsa_1 | post_2 | thing2 |
|  1 | page1 | futkdvthsa_1 | post_2 | thing3 |

有没有机会得到这样的东西:

id |  name |         text | posts
 1 | page1 | futkdvthsa_1 | posts (post_1 = ( thing1 ), post_2 = ( thing2, thing3 ) )

每个 table 的单一查询还是需要以 php 的方式进行?

P.S。这将适用于具有自定义 tables.

的 wordpress 插件

我想最简单的方法是使用 php。 您将不得不使用存储过程将您的字段与 sql.

连接起来