2017-12-15 11 views
0

解決方法: のクエリにWHERE句を追加する必要がありました。最後の行の売上高の合計を取得する


私はSQL Server 2008データベースを作成しています。

私はそのような結果セットを返すために、SQLクエリを記述しようとしています:

date  | turnover_centrale | turnover_public  
+------------+----------------------+-------------------- 
| 2017-02-14 | 233.34    | 383.83      
| 2017-03-14 | 142.81    | 166.8     
| 2017-04-14 | 173.25    | 250.51     
| 2017-05-14 | 186.96    | 245.08     
| 2017-06-14 | 61.26    | 97.67     
| 2017-07-14 | 262.98    | 356.16     
| 2017-08-14 | 89.88    | 162.38    
| 2017-09-14 | 250.32    | 381.47     
| 2017-10-14 | 386.06    | 581.96     
| Total  | Result of the column | Result of the column 

私のSQLクエリは次のとおりです。

SELECT 
    CLC_DATE, CLC_PRIX_CENTRALE, CLC_PRIX_PUBLIC 
FROM 
    ##.dbo.CLIENTS_CONSO 
WHERE 
    CF_USER = :ref 

UNION ALL 

SELECT 
    NULL, SUM(CLC_PRIX_CENTRALE), SUM(CLC_PRIX_PUBLIC) 
FROM 
    ##.dbo.CLIENTS_CONSO 

最後の行の結果は残念ながら偽である:(

だから、あなたがよりよい解決策を持っているのですか?

おかげでたくさん!

+0

合計クエリにWHERE句がないため、falseです。 – Sunny

+0

WHERE句を合計クエリに入れると、結果は500行になります。 https://imgur.com/37MWWe5 – Mariealice

+0

両方のSELECTクエリにWHERE句を含める必要があります – Sunny

答えて

0

おそらく、各日付にエントリが1つだけのことを考慮:

WITH VTE AS (
    SELECT CONVERT(date,[date]) AS [date], turnover_centrale, turnover_public 
    FROM (VALUES 
       ('20170214',233.34,383.83),      
       ('20170314',142.81,166.8),     
       ('20170414',173.25,250.51),     
       ('20170514',186.96,245.08),     
       ('20170614',61.26 ,97.67),     
       ('20170714',262.98,356.16),     
       ('20170814',89.88 ,162.38),    
       ('20170914',250.32,381.47),     
       ('20171014',386.06,581.96)) V([date],turnover_centrale, turnover_public)) 
SELECT ISNULL(CONVERT(varchar(10),[date],120),'Total') AS [date], 
     SUM(turnover_centrale) AS turnover_centrale, 
     SUM(turnover_public) AS turnover_public 
FROM VTE 
GROUP BY [date] WITH ROLLUP;  
0

おかげでたくさん! 私のテーブルには、そのように構築さ:句が重要であり、クライアントからのゲートウェイとあなたのソリューションでは、彼consumnption

beacause、それは動作しません

https://i.imgur.com/csXl8vl.png 
    <br> 
    CLC_DATE = the date of consumption, it's corresponding to each month in a year. 
    <br> 
    CLC_PRIX_PUBLIC = the turnover public 
    <br> 
    CLC_PRIX_CENTRALE = the turnover centrale 

ザ・。

関連する問題