2013-10-08 2 views
0

MySQL은 1 문자열에서 여러 셀을 반환 할 수 있습니까 ?? SQLSERVER에서
mysql 함수는 1 문자열에서 여러 값을 반환합니다.

I이 함수의

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를 사용 : 당신이 할 수 물론

+0

데이터를 일부 코드에 공급하려면 데이터를 그대로 가져 와서 코드에 문자열을 만드는 것이 좋습니다. – Alex

+0

이 함수는 저장 프로 시저에서 호출됩니다. 나는 프로그램이 단지 1 번 스토어드 프로 시저를 호출하고 다른 스토어 프로 시저를 1000 번 호출하도록합니다. –

답변

2

당신이 한 행에서 여러 행을 반환 할 수 있습니다

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/group-by-functions.html#function_group-concat

+0

와우 그 도움, 왜 1 행 끝에 오는가 ?? 반환 값은 "row2, row3, ..., rown, row1"입니다. 나는 이미 by order와 그 작업을 잘 사용하지만 group_concat와는 사용하지 않는다. 어떤 아이디어 ?? –

+0

oh .. see order by group_concat()에서 작동하므로 group_concat (column1 order by column2)을 사용해야 작동합니다. thx sal00m –

+0

글쎄, 당신은 좋은 직장에 자신을 대답 :) – Sal00m

관련 문제