MySQL可以在1个字符串中返回多个单元格?

在sqlserver中,我可以使像这样的功能

CREATE FUNCTION [dbo].[getTribunByOrder]
(
    @idtrorder varchar(10)
)
RETURNS varchar(1000)
AS
BEGIN
    declare @trtribun varchar(1000)
    set @trtribun = ''
    select  @trtribun = @trtribun + nametribun +'='+ convert(varchar(3),jumlah) + ','
            from trtribun b
            where idtrorder = @idtrorder
    set @trtribun = substring(@trtribun, 0, len(@trtribun))
    RETURN @trtribun
END


该函数的返回结果=“ name1 = 1,name2 = 3,name3 = 2”
mysql可以创建这样的功能吗?

最佳答案

当然可以:

例如,使用CONCAT可以在一行中返回多列:

SELECT CONCAT(column1,column2,...) FROM ...


并使用GROUP_CONCAT可以在一行中返回多行

SELECT GROUP_CONCAT(column1) FROM... WHERE... GROUP BY column1


在这里http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat和这里http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat

10-04 11:50