假设有表a,内容如下:
id name regid
1 a 2,3
2 b 1,2,3
3 c 1,3
表b
regid regname
1 北京
2 天津
3 湖南
表c
id add
1 天安门1号
1 中南海2号
2 天津市1号
2 天津市2号
现在想要将表a 中 regid对应的数字获取它的regname,同时查询c中对应的地址(可能有多个),结果如下:
id name b.regname c.add
1 a 北京,天津 天安门1号,中南海2号
2, b 北京,天津,湖南 天津市1号,天津市2号
…………
问一下这个要怎么样写语句?或要用存储过程才能完成,恳请直接,在线急等,非常感谢。
id name regid
1 a 2,3
2 b 1,2,3
3 c 1,3
表b
regid regname
1 北京
2 天津
3 湖南
表c
id add
1 天安门1号
1 中南海2号
2 天津市1号
2 天津市2号
现在想要将表a 中 regid对应的数字获取它的regname,同时查询c中对应的地址(可能有多个),结果如下:
id name b.regname c.add
1 a 北京,天津 天安门1号,中南海2号
2, b 北京,天津,湖南 天津市1号,天津市2号
…………
问一下这个要怎么样写语句?或要用存储过程才能完成,恳请直接,在线急等,非常感谢。
解决方案
20
select id , name,
(select group_concat(regname) from 表b where find_in_set(regid,假设有表a.regid)),
(select group_concat(regname) from 表c where find_in_set(add,假设有表a.regid))
from 假设有表a
(select group_concat(regname) from 表b where find_in_set(regid,假设有表a.regid)),
(select group_concat(regname) from 表c where find_in_set(add,假设有表a.regid))
from 假设有表a