2012-02-20 119 views
-3

我有如下SQL Server 2005中選擇查詢

表一個名爲tbooking其列字段爲booking_ref_id, date_created

表兩個命名tpayment_transaction其列字段爲payment_txn_ref_id, booking_ref_id, payment_status

兩個表我要編寫一個查詢爲「每年每個狀態的交易次數」

結果應該像 -

payment_status  count  date_created 
1 Progress   34   2011 
2 Completed   10   2012 

等等....

因爲threre是4型PAYMENT_STATUS

+0

你只需要PAYMENT_STATUS從以前的問題添加到'SELECT'和'GROUP BY',做你甚至試圖做到這一點? – Lamak 2012-02-20 16:35:42

+0

是的,我嘗試過...但我總是新的數據庫概念... – 2012-02-20 16:37:21

回答

1

我假設tbooking.date_created的是某種日期字段。如果它是一個字符串字段與實際像今年「2011」,那麼你就可以排除YEAR()功能:

SELECT payment_status, COUNT(*) AS count, YEAR(tb.date_created) AS date_created 
FROM tpayment_transaction tt 
JOIN tbooking tb 
    ON tb.booking_ref_id = tt.booking_ref_id 
GROUP BY tt.payment_status, YEAR(tb.date) 
+0

它應該是'年()'而不是'日期()' – Lamak 2012-02-20 16:44:45

+0

它的工作........ thanx爲你所有。 。 – 2012-02-20 16:47:39