원본 테이블에서 개별 항목을 매주 요약하려고합니다. 어떤 항목이 반환되지 않을 경우 쿼리는 내가이 함께 아래의 쿼리를 넣을 수 있었다 null 값 SQL Transpose Pivot
Original Table
+-------+-----------+----------+-----------+-------+------+
|ITEMID | Date |ItemType |Account No |Amt | Desc |
+-------+-----------+----------+-----------+-------|------|
|10 |2014-01-01 | Doors |12345 |10 | ab |
+-------+-----------+----------+-----------+-------|------|
|10 |2014-01-02 | Doors |12345 |10 | cd |
+-------+-----------+----------+-----------+-------|------|
|10 |2014-01-03 | Doors |12345 |10 | ef |
+-------+-----------+----------+-----------+-------|------|
|10 |2014-01-04 | Doors |12345 |10 | gh |
+-------+-----------+----------+-----------+-------|------|
|10 |2014-01-05 | Doors |12345 |10 | ij |
+-------+-----------+----------+-----------+-------|------|
|10 |2014-01-06 | Doors |12345 |10 | kl |
+-------+-----------+----------+-----------+-------|------|
|10 |2014-01-07 | Doors |12345 |10 | mn |
+-------+-----------+----------+-----------+-------|------|
target table:
+----------+-----------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+
| ItemType | AccountNo | Amt1 | DESC1 | Amt2 | Desc2 | Amt3 | Desc3 | Amt4 | Desc4 | Amt5 | Desc5 | Amt6 | Desc6 | Amt7 | Desc7 |
+----------+-----------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+
| Doors | 1234 | 10 | ab | 11 | cd | 12 | ef | 13 | gh | 14 | ij | 15 | kl | 16 | mn |
+----------+-----------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+
를 반환해야합니다, 을 (등 즉, 문, 창문,) 지정된 각 항목 유형에 대해 한 행을 반환해야 작업을 아래의 답변을 기반으로하지만, 더 효율적이고 효율적인 방법이 있습니까 ???? amt4, desc4 t4.desc AS, AS amt5 t5.amt, desc5 t5.desc AS, AS amt6 t6.amt, desc6 t6.desc AS, AS amt7 t7.amt, T7 AS
SELECT t1.Amt AS amt1, t1.desc AS desc1, t2.amt AS amt2, t2.desc AS desc2,t3.Amt AS amt3, t3.desc AS desc3
t4.amt .desc AS desc7, from mytable t1 INNER JOIN mytable t2 ON t2.date = '2014-01-01'AND t2.itemid = 10 AND t2.type = '문' INNER JOIN mytable t3 ON t3.date = '2014-01-02'AND t3.itemid = 10 AND t3.type = '문' INNER JOIN mytable t3 ON t3.date = '2014-01-03'AND t3.itemid = 10 AND t4.type = ' 문 ' 내부 조인 mytable t3 켜기 t3.date ='2014-01-04 'AND t3.itemid = 10 AND t5.type ='문 ' 내부 조인 mytable t3 켜기 t3.date ='2014-01-05 ' AND t3.itemid = 10 AND t6.type = '문',691,363,210 INNER t3.date가 ON MYTABLE T3 가입 = '2014년 1월 6일'AND t3.itemid = 10 AND t7.type = '문' t1.itemid = 10 AND t1.type = '문'