2013-12-14 52 views
0

我剛纔的問題,連接到這一塊,已經在這裏找到答案:LINK年在存儲過程中計算

此查詢是爲我工作完美,但我需要做一些改變。 而不是顯示每個月的債務,我只需要顯示一年的債務。

例如: 我需要檢查一年中是否有任何付款,如果沒有,那麼我需要在我的表中顯示那一年。 在我以前的輸出我有這樣的事情:

Member's code | Debt (Months)   
555-12   |  2-2013   
555-12   |  4-2013  

,現在我需要這樣的:

Member's code | Debt (Years) 
555-12   |  2012 

這是我已經試過:Fiddle 在這個例子中,你可以看到我有一個2013年,不應該在那裏。

回答

1

下面的查詢返回的年以來的第一個成員不匹配:

select m.*, (year(Member_since) + n.n) as YearNotPaid 
from members m join 
    numbers n 
    on year(Member_since) + n.n <= year(now()) left outer join 
    membership ms 
    on ms.code = m.code and 
     year(Member_since) + n.n = year(ms.paid) 
where ms.id is null; 

可以包括AND m.Code = '555-12'如果你只是想爲一個成員。

+0

謝謝,這正是我所需要的 –