Mysql 如何在单个字段中检索与单个表数据相同的forgin键值数据

Mysql 如何在单个字段中检索与单个表数据相同的forgin键值数据,mysql,Mysql,我有这样的桌子 { "name": "john", "address": "street,city" } 表1 nid | name 3 john 表2 tid | address | fkey_id 56 city 3 57 street 3 结果 name | address 约翰城 街头 我怎样才能得到这样的结果 我尝试下面的代码 SELECT name,address FROM tbl_name INNE

我有这样的桌子

{
    "name": "john",
    "address": "street,city"
}
表1

nid  |  name 
3      john
表2

tid | address  | fkey_id
56      city       3
57     street      3
结果

name  | address
约翰城 街头

我怎样才能得到这样的结果 我尝试下面的代码

SELECT name,address
FROM tbl_name
INNER JOIN tbl_address
    ON tbl_name.nid = tbl_address.fkey_id';
结果 我得到了json

{
    "name": "john",
    "address": "city"
},
{
    "name": "john",
    "address": "street"
},
但是我希望json的结果是这样的

{
    "name": "john",
    "address": "street,city"
}

请帮助我

您需要的实际概念是MySQL的GROUP_CONCAT

您需要的最终查询是

选择t1.名称,t2.最终地址 来自tbl_名称t1 内连接 选择fkey_id、GROUP_CONCATaddress作为最终地址 来自tbl_地址 按fkey_id分组 t2 ON t1.nid=t2.fkey_id

您需要的实际概念是MySQL的GROUP_CONCAT

您需要的最终查询是

选择t1.名称,t2.最终地址 来自tbl_名称t1 内连接 选择fkey_id、GROUP_CONCATaddress作为最终地址 来自tbl_地址 按fkey_id分组 t2 ON t1.nid=t2.fkey_id

一种选择是使用组连接:

此处演示:

一种选择是使用GROUP_CONCAT:

此处演示:


选择t1.name,GROUP_CONCATt2.address作为t1.nid=t2.fkey_id GROUP BY t1.names上的tbl_name t1内部连接tbl_address t2的地址选择t1.name,GROUP_CONCATt2.address作为t1.nid=t2.fkey_id GROUP BY t1.name上的tbl_name t1内部连接tbl_address t2的地址