2013-08-07 67 views
0

我正在研究ans SQL服務器數據庫,以便將結果以特定格式顯示。我在表中的數據爲將行值獲取到SQL服務器中的列選擇查詢

Category  AmountType  EligibleAmount NonEligibleAmount 

100    FA    1500.00  1200.00 
100    IA    2000.00  1300.00 
200    FA    1000.00  800.00 
200    IA    3500.00  2100.00 

我所要的輸出是作爲

Category FA EligibleAmt FA NonEligibleAmt IA EligibleAmt IA NonEligibleAmt 

100  1500.00   1200.00    2000.00  1300.00 
200  1000.00   800.00    3500.00  2100.00 

有可能在time.Could任何人的幫助的任何一點是隻有兩個表中的一個類別行我請這個嗎?

+0

如果你不關心你爲每個類別哪一行,你可以只使用'你選擇GROUP BY'。查看[文檔](http://dev.mysql.com/doc/refman/5.0/en/select.html)「GROUP BY」 – GreatBigBore

+0

我不想將這些行分組,然後我必須求和我不想做的金額值。我想以列格式提供第二行數量值。 – user1138780

回答

1

我認爲這將有助於:

SELECT CATEGORY, MAX(DISTINCT CASE WHEN AMOUNTTYPE = 'FA' THEN ELIGIBLEAMOUNT END) AS [FA ELIGIBLE], 
       MAX(DISTINCT CASE WHEN AMOUNTTYPE = 'FA' THEN NONELIGIBLEAMOUNT END) AS [FA NON ELIGIBLE], 
       MAX(DISTINCT CASE WHEN AMOUNTTYPE = 'IA' THEN ELIGIBLEAMOUNT END) AS [IA ELIGIBLE], 
       MAX(DISTINCT CASE WHEN AMOUNTTYPE = 'IA' THEN NONELIGIBLEAMOUNT END) AS [IA NON ELIGIBLE] 
FROM dbo.TESTTABLE 
GROUP BY CATEGORY