我一直試圖從數據庫中獲取一些數據,但當我只需要爲每個文件類型獲取最新的文件上載時就卡住了。在使用WHERE子句之前,我已經完成了這一步,但是這次需要一個額外的表來確定文件類型。SQL - 只選擇WHERE子句的最新記錄
我的查詢看起來像這樣到目前爲止,我得到這個用戶的六個記錄(2x filetypeNo4和4x filetypeNo2)。
SELECT db_file.fileID
,db_profile.NAME
,db_applicationFileType.fileTypeID
,> db_file.dateCreated
FROM db_file
LEFT JOIN db_applicationFiles
ON db_file.fileID = db_applicationFiles.fileID
LEFT JOIN db_profile
ON db_applicationFiles.profileID = db_profile.profileID
LEFT JOIN db_applicationFileType
ON db_applicationFiles.fileTypeID = > > db_applicationFileType.fileTypeID
WHERE db_profile.profileID IN ('19456')
AND db_applicationFileType.fileTypeID IN ('2','4')
我在WHERE子句這樣看這是不工作:
(db_file.dateCreated IS NULL
OR db_file.dateCreated = (
SELECT MAX(db_file.dateCreated)
FROM db_file left join
db_applicationFiles on db_file.fileID = db_applicationFiles.fileID
WHERE db_applicationFileType.fileTypeID = db_applicationFiles.FiletypeID
))
對不起我是一個小白所以這可能是很簡單,但我剛學這個東西,我去我的自己..
請提供樣本數據和預期的結果.. –
不直接關係到你的問題,但'留下了一個'WHERE db_applicationFileType.fileTypeID = db_applicationFiles.FiletypeID'將加入db_applicationFiles'將此表視爲「內連接」。不知道這是你想要的。 – ughai