잘 되지 않는 군요 테이블은 ----------- 회원 | 번호 ----------- 가 | 1 나 | 2 다 | 3 가 | 2 가 | 4 나 | 3 ----------- 이런 식으로 되어 있습니다. 회원 "가"에 대한 번호를 "1,2,4"의 문자열로 리턴 받고 싶은데요.. 어떻게 하여야 할지... 부탁드립니다.
테이블은
-----------
회원 | 번호
가 | 1
나 | 2
다 | 3
가 | 2
가 | 4
나 | 3
이런 식으로 되어 있습니다.
회원 "가"에 대한 번호를 "1,2,4"의 문자열로 리턴 받고 싶은데요..
어떻게 하여야 할지...
부탁드립니다.
제 생각에는 저장 프로시져와 사용자정의함수를 사용하셔야 할것 같습니다.
사용자 정의함수에서 해야 하는 기능은
데이터(ROW)를 Array형식으로 바꾸는 작업을 합니다.
예문입니다.
MS-SQL 올만에 해서ㅜㅜ
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Create Function uf_Row2Array
(
rowKey varchar(20)
)
RETURNS varchar(1000)
AS
BEGIN
Declare @strTmp varchar(1000)
Declare @strRow varchar(10)
Declare Row2Array_cursor CURSOR FOR
Select 번호 From 테이블 Where 회원 = rowKey
SET @strRow = '';
OPEN Row2Array_corsor
FETCH NEXT FROM Row2Array_cursor
INTO @strRow
WHILE @@FETCH_STATUS = 0
Begin
If Len(@strTmp) > 0 <======= 길이 체크 함수 틀릴수 있음니다.
SET @strTmp = @strTmp & ',' & @strRow
Else
SET @strTmp = @strRow
End
CLOSE Row2Array_corsor
DEALLOCATE Row2Array_cursor
END
저장프로시저에서 함수를 호출합니다.
SET 받는문자열변수 = uf_Row2Array('가')