2011-10-27 3 views
3

2 개의 테이블 (회사 및 연락처)이 있습니다. 회사의 각 연락처마다 줄 바꿈으로 구분하여 각 회사 ID에 대한 모든 연락처가 하나의 셀에 나열된 모든 회사 (회사 ID 당 1 줄)의 목록을 만들어야합니다.트랜잭션 레코드를 하나의 셀로 그룹화

이 테이블은 액세스 BE 데이터베이스의 테이블이므로 Access에서이 작업을 수행하는 것이 좋지만 MSQL에서 작성하는 것이 더 쉬운 경우에도이 작업을 수행 할 수 있습니다.

감사의 말 :

+0

흥미 수있는 문서가 요구하는 보고서가 이것은 무엇입니까? –

+0

번호 연락처를 추가 열로 사용하여 회사 테이블을 CSV 파일로 출력해야합니다. – user1016171

+0

Access 쿼리를 사용하면 Access 외부에서 작동하지 않는 VBA에서 사용자 정의 함수를 사용해야합니다. – Fionnuala

답변

0

SQL 2005+의 경우 트릭을 수행 하시겠습니까? 이 하나의 열의 경우

;with data as 
(
SELECT 'Company1' AS company, 'Contact1' AS contact UNION ALL 
SELECT 'Company1' AS company, 'Contact2' AS contact UNION ALL 
SELECT 'Company1' AS company, 'Contact3' AS contact UNION ALL 
SELECT 'Company1' AS company, 'Contact5' AS contact UNION ALL 
SELECT 'Company2' AS company, 'Contact1' AS contact UNION ALL 
SELECT 'Company3' AS company, 'Contact1' AS contact 
) 
SELECT 
company 
,STUFF((
SELECT ',' + contact 
FROM data d2 
WHERE d2.company = d1.company 
FOR XML PATH('')), 1, 1, '') as contacts 
FROM data d1 
GROUP BY company 
+0

코드를 제공해 주셔서 감사합니다. Kip Real이 보냈던 링크와이 코드를 통해 올바른 방향으로 나아갔습니다. – user1016171

관련 문제