MySQL结果以逗号分隔列表

我需要运行如下查询:


SELECT p.id, p.name, 

       (SELECT name 

          FROM sites s 

         WHERE s.id = p.site_id) AS site_list

  FROM publications p

但我希望子选择返回逗号分隔列表,而不是一列数据。这是否可能,如果是这样,怎么样?


慕田峪7331174
浏览 1034回答 3
3回答

慕沐林林

而不是使用group concat()你可以使用concat()Select concat(Col1, ',', Col2) as Foo_Bar from Table1;编辑它只适用于mySQL; Oracle concat只接受两个参数。在oracle中,您可以使用select col1 ||','|| col2 ||','|| col3之类的东西作为来自table1的foobar; 在SQL Server中你会使用+而不是管道。

九州编程

在我的情况下,我必须连接一个人的手机号码唯一的帐号。所以我使用以下查询来实现这一点。SELECT GROUP_CONCAT(AccountsNo) as Accounts FROM `tblaccounts` GROUP BY MobileNumber查询结果如下:Accounts93348001,97530801,93348001,975308018966350162630701622789514484000260070021600700206007001960070018600700176007001660070015
打开App,查看更多内容
随时随地看视频慕课网APP