2011-03-02 44 views
0

我有一個查詢,我一直在工作幾個小時,似乎無法得到它的工作。 該查詢將生成過去365天內花費> 100歐元的客戶列表。我正在創建一個視頻租賃數據庫..查詢我看不出來的視頻租賃數據庫?

這是我得到了多少,但似乎無法將數據與date_rented數據表連接在一起。

SELECT CUST_ID, CUSTOMER_SPEND 
FROM ACCOUNT_TEST 
WHERE CUSTOMER_SPEND > 100; 

我一起工作的表CUST_ID,customer_spend,date_rented和account_test

+0

是你正在使用的那些表,還是一個表中的字段?所有這些(除了可能'account_test')看起來更像字段名稱而不是表格名稱 - 如果它們是表格,我們必須知道字段名稱才能完成。目前還不清楚表中的某一行是否記錄單一租金,或者它是否已經是特定客戶的租金彙總。 – 2011-03-02 16:51:28

+0

這些表格是如何構成的?在不知道字段名稱的情況下,我們無法爲您抽出一個示例查詢。 – 2011-03-02 16:53:11

+0

同意Marc和Jerry,其中是關鍵要素的結構。客戶ID,租用日期,出租金額以執行查詢的基礎。 – DRapp 2011-03-02 18:04:13

回答

2

,而不是試圖回答是這個問題(在某種程度上)問,也許是有意義的退後一步,看看(顯然)理想的結果,並顯示如何實現。目前,我只會看看應該是一個數字的一​​張桌子。該表將舉行個人客戶租賃的細節:

customer_id 
date_rented 
cost 

更多的領域當然需要,但這些似乎包括我們所關注的這個查詢。因此,我們需要一個已經花費了至少100(無論單位爲cost)的客戶列表,以及每個花費的金額。唯一有點棘手的部分是我們不能在where子句中使用像sum(customer_paid)這樣的聚合,所以我們把它放在having子句中。

select customer_id, sum(cost) as customer_paid 
    from rental_details 
    where to_days(now()) - to_days(date_rented) <= 365 
    group by customer_id 
    having customer_paid > 100 

作爲一個快速的警告,這可能需要一些小的調整使用MySQL的 - 大部分東西我最近寫的已經爲SQL Server。