我如何SELECT
将同一数据(同一表)的多行作为单行使用?
用例:我正在构建联系人管理工具。有些人可能有多个电子邮件地址和/或电话号码。不必手动添加另一个LEFT JOIN
并返回如下内容:
//print_r($row1);
//email1, email2, email3, email4, phone1, phone2, phone3, phone4
我希望让MariaDB按照以下方式直观地返回内容:
//print_r($row1);
//email, phone
//print_r($row1['email']);
//1@example.com,2@example.com,3@example.com
//print_r($row1['phone']);
//123-4567,456-7890,109-345
这将使我避免使用静态JOIN
。使用MariaDB如何做到这一点?
一个很好的例子是SQL Server的STUFF
function。
答案 0 :(得分:1)
我需要的功能是group_concat()
。
之前
SELECT phone FROM contacts_phone;
之后
SELECT group_concat(phone) FROM contacts_phone;