필자는 필자의 요구에 정확히 맞는 해결책을 찾지 못했지만 수정할 수있는 솔루션을 찾을 수 없습니다. 나는 데이터베이스 테이블을 가지고 있는데, 간략하게 세 열 (packageID
, carrier
및 sequence
)이 있다고합니다. 모든 패키지에는 패키지를 처리 한 하나 이상의 통신 사업자가있을 수 있습니다. 내가 생각해야 할 것은 같이 행에 결과를 얻을 수 있습니다가변 길이 DB 행을 단일 열로 변환
packageID, carrier
1, Bob
1, Jim
1, Sally
1, Ron
2, Reggie
2, Mary
2, Bruce
: 나는처럼 보이는 패키지를 처리 한 모든 사람들의 목록을 얻을 수
SELECT packageID, carrier
FROM packageFlow
ORDER BY sequence
같은 쿼리를 수행 할 수 있습니다 :
packageID|carrier1|carrier2|carrier3|carrier4
1 |Bob |Jim |Sally |Ron
2 |Reggie |Mary |Bruce
피벗 내가 아무것도 집계되지 그리고 난이 CTE 중 하나를 제대로 작동시킬 수 없기 때문에 무엇을해야하지 않는 것 같습니다. 나는 올바른 방향으로 조금 움직여 주셔서 감사합니다.
당신이 사용하고있는 RDBMS 사항을 알려주십시오한다. 오라클 'LEAD'는 이런 종류의 일을 돕습니다. – Marc
중복 http://stackoverflow.com/questions/5031204/does-t-sql-have-an-aggregate-function-to-concatenate-strings? – mdn
DBMS를 지정하지 않았지만 [이 답변] (http://stackoverflow.com/questions/10791247/sql-server-possible-pivot-solution/10796492#10796492)에는 대부분의 DMBS에 대한 해결책이 있습니다. – GarethD