2016-06-28 18 views
2

私はSQL Serverを初めて使用しており、これを苦労しています。SQL Sumクエリの問題

私は彼らの結果は、私は、出力が2列

(カラム1 +月曜日として表示されるようにしたい2,00,000及び3,00,000それぞれ

ある2つの選択ステートメント

SELECT 
    SUM(Amount) AS "MONDAY" 
FROM 
    Transaction 
WHERE 
    Transaction_Date = '2015-12-21 00:00:00.000' 

SELECT 
    SUM(Amount) AS "TUESDAY" 
FROM 
    Transaction 
WHERE 
    Transaction_Date = '2015-12-22 00:00:00.000' 

を持っていますSQL Serverの画面で(列2 =火曜日)

答えて

6

1つのオプションは、conditional aggregationを使用します。

SELECT SUM(CASE WHEN Transaction_Date = '2015-12-21 00:00:00.000' 
      THEN Amount END) AS "MONDAY" , 
     SUM(CASE WHEN Transaction_Date = '2015-12-22 00:00:00.000' 
      THEN Amount END) AS "TUESDAY" 
FROM Transaction 
+0

医師が:) ....恐ろしい – Arav

1
select datepart(dw, transactiondate), 
    sum(amount) [sum] 
from transaction 
where transaction_date between '2015-12-22' and '2015-12-23' 
group by datepart(dayofweek, transactiondate) 

これは擬似コードで、覚えておいて、私は日付要素、ここで "DAYOFWEEK" 属性...

検索を探しています:https://msdn.microsoft.com/en-us/library/ms174420.aspx

+0

ニースアプローチを命じたが、これは複数の列を持つ単一行に対して複数の結果を作成するだけで何... – sgeddes

+0

はいああ...私の悪いです – ganders

0

私はあなたがする必要があると思います行を列に変換するにはMSSQLピボット関数を使用します。 この他の質問を確認してください。多分これはあなたを助けることができる: Convert Rows to columns using 'Pivot' in SQL Server