2017-08-16 19 views
-1

データを最終的に初期から、私はこのようなテーブルを持っている

create table Input_Table(id int, [year] varchar(100),initial int,final int) 

insert into Input_table values(1,'2017',1,11) 
insert into Input_table values(2,'2017',8,11) 
insert into Input_table values(3,'2017',3,33) 
insert into Input_table values(4,'2016',6,44) 
insert into Input_table values(5,'2016',6,44) 
insert into Input_table values(6,'2017',6,44) 
insert into Input_table values(7,'2016',4,8) 
insert into Input_table values(8,'2017',2,8) 

を列の値を注文するために、私はPIC enter image description here

+0

は(年間)、Input_tableから「2016」などの[データ]、 数(年間)として、最終的な「から」明確な初期 –

+0

選択「からの変更」を明確な年を選択してカウント初期 によってInput_table 順序は異なる初期を選択します'2017'として –

答えて

0

ORDER BY節に示した要件に基づいて出力を取得する必要がありますかSELECTの中で。また、SQL Server specific

SELECT * FROM Input_table ORDER BY initial 
+0

出力に[data]、[2016]、[2017]の列が必要ですので、スクリーンショットを確認してください。その単純ではない –

1

出力を取得するには、これに従います。

Select 
    DISTINCT(
     'Change From '+ Cast(initial AS Varchar(10))+' to '+Cast(final AS Varchar(10)) 
     ) AS DATA 
    ,SUM(Case When year=2017 Then 1 Else 0 END) AS [2017] 
    ,SUM(Case When year=2016 Then 1 Else 0 END) AS [2017] 
From Input_table 
Group By initial, final 
ORDER BY DATA ASC 

注: - あなたが実際にそれを使用する場合。それから私は、よりよい解決策を提案することができるかもしれない。

関連する問題