1. 程式人生 > >C# SQl通過對視圖數據二次查詢,統計數據

C# SQl通過對視圖數據二次查詢,統計數據

支付 lse 要求 -- 解決 num 微信支付 otl 類型

問題描述: 原數據---------需要在原視圖數據中,統計出每個Device_Num設備號下面的交易的總額和分別統計出微信支付寶的交易總額。

技術分享圖片

解決:從上圖數據沒辦法使用直接查詢出要求的數據。

.1.首先查出滿足需要的數據的類型,並進行分組

SELECT SUM(Amount) as TotleAmount ,Trade_type ,Device_Num FROM patientbookstatices GROUP BY Device_Num ,Trade_type;

得到數據:

技術分享圖片

還是無法查出按要求的數據,

2.我們以上圖數據作為臨時表,在使用 case .... when... then 對臨時表中的數據進行提取。

SELECT Device_Num, SUM(TotleAmount) as newTotleAmount ,
SUM(CASE Trade_type WHEN ‘支付寶‘ THEN TotleAmount ELSE 0 END ) AS Alitotle,
SUM(CASE Trade_type WHEN ‘微信‘ THEN TotleAmount ELSE 0 END ) AS Wxtotle
FROM
(SELECT SUM(Amount) as TotleAmount ,Trade_type ,Device_Num FROM patientbookstatices GROUP BY Device_Num ,Trade_type)
as TempTableDt
GROUP BY Device_Num;

結果:

技術分享圖片

C# SQl通過對視圖數據二次查詢,統計數據