2012-04-07 17 views
5
select PurchaseOrderID 
    , [244,231] as FirstEmp 
    , [266,274] as secondEmp 
    , [231,241] as ThirdEmp 
    from (select PurchaseOrderID, EmployeeID, TaxAmt 
      from Purchasing.PurchaseOrderHeader 
      Where EmployeeID IN (244, 231, 266, 274, 241) 
       ) SourceTable 
PIVOT (
    SUM(TaxAmt) 
    FOR EmployeeID IN([244,231],[266,274],[231,241]) 
    ) AS PVT 

का उपयोग कर क्वेरी मैं विशेष GLcode धुरी समूह के लिहाज से उपयोग करने के लिए डेटा पुनः प्राप्त करने के लिए है ऊपर से एसक्यूएल क्वेरी के लिए एक समाधान की जरूरत है।धुरी

मैं निम्नलिखित है, जिसका अर्थ SUM(TaxAmt) एक समूह GLCode IN (244,231) और GLCode IN (266,274) के लिए अन्य दूसरे के लिए और तीसरे GLCode IN (231,241) है की तरह एक परिणाम की जरूरत है।

--------------------------------------------------------- 
PurchaseOrderID  [244,231] [266,274] [231,241] 
--------------------------------------------------------- 
1     5678   10456  45643 
2     3456   5643   564 
3     34567   5678   4243 
4     5897   65645   7567 
--------------------------------------------------------------- 
+2

क्या RDBMS? एसक्यूएल पर्याप्त जानकारी नहीं है। मैं 'पिवट' के कारण ओरेकल या एसक्यूएल-सर्वर का अनुमान लगा रहा हूं? – Ben

+0

@Ben वाक्यविन्यास के अनुसार इसके MSSQL –

+0

@vimal तो आपका प्रश्न क्या है? –

उत्तर

4
select PurchaseOrderID, 
     sum(case when EmployeeID in (244, 231) then TaxAmt end) as "244,231", 
     sum(case when EmployeeID in (266, 274) then TaxAmt end) as "266,274", 
     sum(case when EmployeeID in (231, 241) then TaxAmt end) as "231,241" 
from PurchaseOrderHeader 
where EmployeeID in(244, 231, 266, 274, 241) 
group by PurchaseOrderID 

धुरी संस्करण:

select PurchaseOrderID, 
     [244]+[231] as "244,231", 
     [266]+[274] as "266,274", 
     [231]+[241] as "231,241" 
from 
    (
    select EmployeeID, TaxAmt, PurchaseOrderID 
    from PurchaseOrderHeader 
    where EmployeeID in(244, 231, 266, 274, 241) 
) as P1 
pivot 
    (
    sum(TaxAmt) for EmployeeID in ([244],[231],[266],[274],[241]) 
) as P2 
+0

धन्यवाद, यह सही है कि मैं चाहता हूं ... बहुत बहुत धन्यवाद ... –

+0

आपका स्वागत है। यदि आप यही चाहते हैं तो आपको इस जवाब को स्वीकार करना चाहिए [http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)। –

संबंधित मुद्दे