目前我有一个包含两个表zip_codes和电子邮件的数据库。 zip_codes包含三个字段zid,eid和zip。电子邮件包含eid,电子邮件和位置。
这是我当前的查询:
SELECT a.zid, a.zips, b.email, b.location FROM zip_codes AS a INNER JOIN emails AS b ON a.eid = b.eid
基本上我想要做的是将我得到的结果转换成这个(http://sqlandme.com/2011/04/27/tsql-concatenate-rows-using-for-xml-path/),但我不确定如何使用我当前的设置来做到这一点。
我尝试更改名称但是我在[text()]附近的语法中出错,因为我不知道如何使用它,我被卡住了。
感谢所有帮助。
答案 0 :(得分:0)
对于Mysql,您可以使用GROUP_CONCAT
SELECT
b.email,
b.location,
GROUP_CONCAT(a.zips) zipcodes
FROM
zip_codes AS a
INNER JOIN emails AS b
ON a.eid = b.eid
GROUP BY b.eid
使用GROUP_CONCAT的注意事项:结果被截断为最大长度 group_concat_max_len系统变量,其默认值为 1024.该值可以设置得更高,尽管返回值的有效最大长度受值的约束 max_allowed_packet的