database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 4595 게시물 읽기
No. 4595
select 질문 드립니다.
작성자
이성빈(yani777)
작성일
2009-01-08 17:47
조회수
5,770

id                           temp                           state
aaaaa                      사과                             1
ccccc                      바나나                          2
aaaaa                      오렌지                          3
bbbbb                       배                                1
bbbbb                       사과                             5


이렇게 저장 되어 있는 테이블이 있습니다.

이것을

id                           temp                           state
aaaaa                      사과,오렌지                  1,3
bbbbb                      배,사과                         1,5
ccccc                      바나나                          2

이런식으로 나오게 하고 싶습니다.

일단 해본 쿼리는 

테이블명을 TT 라고 했을경우

select a.id, ',' + IsNULL(a.temp,'')+','+IsNULL(b.temp,'') from TT as a
left join TT as b on a.id = b.id

이렇게 했더니 

한개도 같이 출력이 되네요..

다른 방법이 없을까요..?

이 글에 대한 댓글이 총 2건 있습니다.

create table test22
( id varchar(5)
, temp varchar(10)
, state varchar(1)
)
insert into test22
select 'aaaaa',                      '사과'            ,                 '1' union all
select 'ccccc'      ,                '바나나'                   ,       '2' union all
select 'aaaaa'       ,               '오렌지'                   ,       '3' union all
select 'bbbbb'        ,              '배'                         ,       '1' union all
select 'bbbbb'         ,              '사과'                     ,       '5'

CREATE FUNCTION fn_getTemp (@id varchar(5))
RETURNS VARCHAR(1000)
AS
BEGIN
 DECLARE @temp VARCHAR(1000)
 SELECT @temp = COALESCE(@temp +',' +  temp, temp)  FROM test22
 WHERE id = @id
 RETURN @temp
END

CREATE FUNCTION fn_getState (@id varchar(5))
RETURNS VARCHAR(1000)
AS
BEGIN
 DECLARE @temp VARCHAR(1000)
 SELECT @temp = COALESCE(@temp +',' +  state, state)  FROM test22
 WHERE id = @id
 
RETURN @temp
END

select id, dbo.fn_getTemp(id), dbo.fn_getState(id) from test22
group by id

^^님이 2009-01-09 13:00에 작성한 댓글입니다. Edit
답변 감사합니다.
이성빈(yani777)님이 2009-01-22 13:48에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
4598MS-SQL 2005 Std와 Quad Core 2 CPU [1]
민대영
2009-01-13
5064
4597nchar 형식을 varchar 로 변경할때 공백이 붙는 문제 [1]
이태웅
2009-01-12
6375
4596DTC 관련 테스트
임대원
2009-01-12
5213
4595select 질문 드립니다. [2]
이성빈
2009-01-08
5770
4594특정 단어들이 포함되지 않는 조건문 [1]
제로
2009-01-07
7204
4593DELETE문을 사용시 처리속도가 너무 느립니다. [1]
사고친사람
2009-01-06
8483
4592문자형을 int형으로 변환하려면 어떻게 해야 하나요?? [1]
박수영
2009-01-05
6550
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다