2016-07-12 9 views
0

SQL에서 가로 및 세로 테이블을 조인하는 가장 좋은 방법은 무엇입니까?SQL에서 세로 테이블과 가로 테이블을 결합하는 가장 좋은 방법

enter image description here

와 같은 또 다른 테이블 :

Table 2

나는이처럼 테이블이

(즉,이 경우에는 두 테이블의 항목 ID를 가입)

이상적으로 다음과 같이 배열하고 싶습니다.

OrderID 항목 ID 클라이언트 ID 설명 수량 가격

OrderID를 기반으로 이러한 두 가지 유형의 테이블을 결합하는 가장 간단한 방법은 무엇입니까?

지금은 세로에서 가로로 항목 테이블을 변환 한 다음 2 개의 테이블을 결합합니다. 하지만 그것은 많은 코드 라인이됩니다. 더 간단한 방법이 있는지 궁금합니다. 감사! 내부

+0

은 그냥이 항목을 테이블에 3 회에 가입 할 ) PIV의 요소에 대한 ON instan에 대해'element = 'description'을 사용하여 ce, 당신의 ON 절. – JNevill

답변

0

여러 당신은 SQL Server의 피벗을 사용할 수 있습니다 수직 테이블

select a.OrderID, a.ItemID, a.ClientID, b.Description c.Quantity d.Price 
from table2 as a 
inner join table1 as b on a.itemID = b.itemID and b.element = 'Description' 
inner join table1 as c on a.itemID = c.itemID and c.element = 'Quantity' 
inner join table1 as d on a.itemID = d.itemID and d.element = 'Price' 
0

에 가입 할 수 있습니다. 아래의 코드 스 니펫을 참조하십시오.

SELECT OrderID를, 항목 ID, 된 ClientID, [설명], 수량, 가격 ( SELECT OrderID를, i.ItemID, 된 ClientID, i.element FROM 제가 INNER 주문 A를 가입 항목에서 i.details i.itemid = a.itemid ) SRC PIVOT ( MAX (세부 사항) ([설명], 수량, 가격)

관련 문제