我的數據庫收集會員續訂信息,包括續約日期(payDate)。活躍成員由payDate列確定,該列必須晚於上一年的9-30被認爲是活躍的。該俱樂部允許會員在上一年的10月份更新。因此,2015年10月續約的會員是2016年12月31日前的一名活躍會員。我遇到的問題是,如果我建立活動會員表,我會得到許多重複條目,因爲當前續約以前的更新在技術上都是活躍的。爲了報告的目的,我只想要最近的更新。只選擇來自數據庫的最新條目
我當前的查詢,這給重複,如下:
SELECT *
FROM membership
INNER JOIN memberDues ON ID = memberID
WHERE payDate >= '$year-10-01'
ORDER BY lastName, firstName"
我已經試過這不工作備用查詢:
SELECT *
FROM membership
INNER JOIN (SELECT MAX(paydate) AS MAXpayDate
from memberDues)
memberDues ON ID = memberID
AND paydate = MAXpaydate
WHERE payDate >= '$year-10-01'
ORDER BY lastName, firstName
我也試過這樣:
SELECT *
FROM (SELECT MAX(paydate)
FROM memberDues)
memberDues
INNER JOIN membership ON memberID = ID
WHERE payDate >= '$year-10-01'
ORDER BY lastName, firstName
我將不勝感激任何幫助。
發佈表的一些示例數據? –