0
나는 쿼리를 작성 중이므로 도움이 될 것입니다. 나는 시도하고있는 것을 전달하고자하는 단순한 버전의 쿼리를 제공 할 것이다.여러 행을 1 행의 다른 열로 조인 SQL Server
주어진 다음의 표 :
TableA
(RecordNumber, TableAID, someValue와)TableB
(RecordNumber, X, Y, Z)TableC
(RecordNumber, D, E, F, G)
내가 찾고 있어요 결과 집합 :
TableB.RecordNumber, X, Y, Z, D, E, F, G, SomeValue1, SomeValue2, SomeValue3, SomeValue4
내 쿼리는 현재 나는이 TableA의에서 someValue와 당 1 개 행을 반환하는 것을 깨닫게
Select
TableB.RecordNumber, X, Y, Z, D, E, F, G, SomeValue1)
inner join
TableC on TableB.RecordNumber = TableC.RecordNumber
inner join
TableA on TableB.RecordNumber = TableA.RecordNumber
입니다.
내가 뭘하고 싶은지 에 대한 SomeValueX
을 채우는 1 행에 해당 레코드 번호에 대한 행 X의 SomeValue
값을 조합하는 것이 좋습니다.
생각하십니까?
Sql **에서는 쿼리의 시작 부분에서 열 수를 알아야합니다. 유일한 옵션은 동적 SQL입니다. 먼저 TableA에 필요한 SomeValue 열 수를 묻고 해당 정보를 사용하여 완전히 새로운 SQL 문자열을 작성합니다. –