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 6934 게시물 읽기
No. 6934
도와 주세요..sql 문....
작성자
아름이
작성일
2015-11-19 09:57
조회수
4,710

안녕하세욤...    

아~ 죽을 거 같아요.. 해결이 않되요.. sql  도와 주세욤.... ㅜㅜ

데이터는 아래와 같아요...

 WorkDate UserID DocNumber FormName WindowsSize OpenURL
2015-11-02 100067 aaa           NULL NULL NULL
2015-11-02 100292 aaa           NULL NULL NULL
2015-11-02 100345 aaa            NULL NULL NULL
2015-11-02 100362 bbb            NULL NULL NULL

여기서 데이터를 아래와 같이 연결 시키고 싶어요..

2015-11-02: aaa: 100067,100292,100345 

2015-11-02: bbb: 100362 

이렇게 한 행으로욤...

부탁해요.. 어제 부터 죽쓰고 있어욤...

감사합니당

이 글에 대한 댓글이 총 5건 있습니다.
group_concat 함수를 사용한 예입니다. mysql 버전은 4.1에서 테스트했습니다.
 
mysql> create table ttt( userid int,docnumber char(3));
Query OK, 0 rows affected (0.13 sec)
 
mysql> insert into ttt values (100067,'aaa');
Query OK, 1 row affected (0.00 sec)
 
mysql> insert into ttt values (100292,'aaa');
Query OK, 1 row affected (0.00 sec)
 
mysql> insert into ttt values (100345,'aaa');
Query OK, 1 row affected (0.01 sec)
 
mysql> insert into ttt values (100362,'bbb');
Query OK, 1 row affected (0.00 sec)
 
mysql> select docnumber,group_concat(userid) from ttt group by docnumber;
+-----------+----------------------+
| docnumber | group_concat(userid) |
+-----------+----------------------+
| aaa       | 100067,100292,100345 |
| bbb       | 100362               |
+-----------+----------------------+
정상규(pajama)님이 2015-11-19 10:32에 작성한 댓글입니다.

댓글 감사 드려욤..

그런데.. 도움 주신 sql 의 group_concat 는 mysql 에서만 사용 가능하다네요..ㅜㅜ

전 mssql 이거든용....ㅜㅜ

아름이님이 2015-11-19 10:54에 작성한 댓글입니다. Edit

WITH t(WorkDate, UserID, DocNumber) AS
(
          SELECT '2015-11-02', '100067', 'aaa'
UNION ALL SELECT '2015-11-02', '100292', 'aaa'
UNION ALL SELECT '2015-11-02', '100345', 'aaa'
UNION ALL SELECT '2015-11-02', '100362', 'bbb'
)
SELECT WorkDate, DocNumber
     , STUFF((SELECT ',' + UserID
                FROM t
               WHERE WorkDate  = a.WorkDate
                 AND DocNumber = a.DocNumber
               ORDER BY UserID
                 FOR XML PATH('')
              ), 1, 1, '') UserID
  FROM t a
 GROUP BY WorkDate, DocNumber
 ORDER BY WorkDate, DocNumber
;

마농(manon94)님이 2015-11-19 11:01에 작성한 댓글입니다.

마농님... 대박 !!!! 대박!!!!!

감사합니당.. ^^

이런 고급 지식을 손쉽게 얻게 되어 죄송 스럽고 감사해요...

앞으로 잘 부탁 드리겠습니당....

수고하세욤...

아름이님이 2015-11-19 11:16에 작성한 댓글입니다. Edit

이런 잘못보고 mysql답변을..죄송합니다.

정상규(pajama)님이 2015-11-19 13:29에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
6937문자열 추출 [2]
쿠기
2015-11-24
4474
69363개의 쿼리문을 하나로 합치고 싶어요 [4]
김우성
2015-11-24
4653
6935날짜 형 변환 문제
다중이
2015-11-24
4452
6934도와 주세요..sql 문.... [5]
아름이
2015-11-19
4710
6933이 쿼리가 MS-SQL 맞나요?? 해석 좀 도와주세요. [2]
정준민
2015-11-18
4625
6932ms sql 선수수익 문제 질문합니다! [1]
황유진
2015-11-17
4551
6931이후값 갖고 오는 방법이 있을까요. [2]
빨간운동화
2015-11-17
4250
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다