2016-01-07 38 views
0

我想在一個查詢中使用兩個不同表中的數據來創建數據樞軸和在我想總有相同的客戶名的紙幣是從表來1我想在一個查詢中從一個查詢中的兩個不同表中創建數據我必須使用數據透視

表1查詢

SELECT Cname 
     ,Advance 
     ,Bill 
     ,Refund 
FROM (
      SELECT cname 
       ,r.Amount 
       ,R.PaymentType 
      FROM ReceiptDetails r 
     ) AS sourcetable 
     PIVOT(
      SUM(Amount)FOR PaymentType IN ([Advance] ,[Bill] ,[Refund]) 
     ) AS PivotTable 

表2查詢

​​ 總結其他查詢

Cname是在這兩個表共同的領域

基本上我想生成客戶的會費清單,所以從表一(Recipt Details)名稱,(總和)進展和其他支付,他們已經作出,從第二個表(比爾詳細信息)總額從多個票據

回答

0

只是執行全外連接高炮兩個ueries這樣的總和:

SELECT 
    CName = coalesce(payment.cname,bill.cname) 
    ,bill = coalesce(bill.Amount) 
    ,Advance = coalesce(payment.Advance,0) 
    ,Bill = coalesce(payment.Bill ,0) 
    ,Refund = coalesce(payment.Refund ,0) 
FROM (
    SELECT Cname 
      ,Advance 
      ,Bill 
      ,Refund 
    FROM (
      SELECT cname 
       ,r.Amount 
       ,R.PaymentType 
      FROM ReceiptDetails r 
     ) AS sourcetable 
     PIVOT(
      SUM(Amount)FOR PaymentType IN ([Advance] ,[Bill] ,[Refund]) 
     ) AS PivotTable 
) Payment 
full outer join (
    SELECT Cname 
     ,SUM(cb.totalandvat) AS Amount 
    FROM Customer_Bill 
) bill 
ON payment.cname = bill.cname 
+0

你好我使用SQL Server 2008這是給下面的錯誤,而運行上面的查詢Msg 102,級別15,狀態1,行3 錯誤的synt斧頭靠近')'。 Msg 102,Level 15,State 1,Line 21 'Payment'附近語法不正確。 Msg 102,Level 15,State 1,Line 26 'bill'附近語法不正確。 –

+1

您的'完全連接'連接條件缺少彼得。 –

+0

@tt:固定;謝謝。 –

相關問題