Mysql 按groupby选择并连接右侧列值应位于一行中的位置

Mysql 按groupby选择并连接右侧列值应位于一行中的位置,mysql,sql,Mysql,Sql,例如:表t1有id、名称,表t2有id、子名称、t1_id(t1的外键) 其中关系为t1:t2=1:many 查询结果应为 # t1.id | t1.name | t2_content # ### 1 |vishal |(0=(id=1,subname=merce,t1_id=1),1=(id=2,subname=tech,t1_id=1)) ### ### 2 |mote |(0=(id=3,subname=temp,t1_id=2),1=(id=4,subname=tech,t1_id=2

例如:表t1有id、名称,表t2有id、子名称、t1_id(t1的外键)

其中关系为t1:t2=1:many

查询结果应为

# t1.id | t1.name | t2_content #

### 1 |vishal |(0=(id=1,subname=merce,t1_id=1),1=(id=2,subname=tech,t1_id=1)) ###
### 2 |mote |(0=(id=3,subname=temp,t1_id=2),1=(id=4,subname=tech,t1_id=2)) ###

任何人都可以帮我找到查询来选择这样的结果。我不想使用任何编程语言来生成这样的结果。只想使用sql查询。

您基本上似乎想要
group\u concat()
。我不确定
0=
应该是什么,但除此之外,这应该是可行的:

select t2.t1_id,
       group_concat('(', concat('(id=', t2.id, ',subname=', subname, ',t1_id=', t1_id, ','
                     separator ',') as StrangeFieldConcatenation
from t2
group by t2.t1_id;

//增加t2_内容输出长度的步骤

设置会话组\u concat\u max\u len=100000000

//实际查询


选择t1.id,t1.name,GROUP_CONCAT(CONCAT('(id=“”,t2.id,”,subname=“”,t2.subname,”,t1_id=“”,t2.t1_id,”))作为t1.id上t1内部连接t2的t2_内容=t2.t1_id按t1.id分组

你的回答对我帮助很大,但这不是一个恰当的问题。我在谷歌上搜索并设计了精确的查询结果。谢谢。。。我回答了我自己的问题。
select t2.t1_id,
       group_concat('(', concat('(id=', t2.id, ',subname=', subname, ',t1_id=', t1_id, ','
                     separator ',') as StrangeFieldConcatenation
from t2
group by t2.t1_id;