使用下面的SQL查詢我試圖從Interactive_Sessions.Sessiondate中檢索最近會話日期,同時還從另外兩個表(Interactive.Users & Patroninfo)顯示信息使用連接SQL選擇最近日期(W /三表連接)
東西會喜歡這個
JDOE Jane DOE 1234 [email protected] 10/27/14 10:24
JDOA Jane DOA 1345 [email protected] 11/13/17 12:34
下面就是我目前與我的工作確保瞭如何解決嘗試執行時收到錯誤。這些是我在MAX中遺漏的東西嗎?
Select
INTERACTIVE_USERS.USERID, PATRONINFO.FIRSTNAME, PATRONINFO.LASTNAME,
PATRONINFO.PATRONID, INTERACTIVE_USERS.EMAIL,
MAX(INTERACTIVE_SESSIONS.SESSIONDATE)
FROM
INTERACTIVE_SESSIONS
JOIN
INTERACTIVE_USERS
ON
INTERACTIVE_SESSIONS.USERID = INTERACTIVE_USERS.USERID
JOIN
PATRONINFO
ON
INTERACTIVE_USERS.PID = PATRONINFO.PATRONID
GROUP
BY INTERACTIVE_USERS.USERID, PATRONINFO.FIRSTNAME, PATRONINFO.LASTNAME, PATRONINFO.PATRONID, INTERACTIVE_USERS.EMAIL
ORDER BY
MAX(INTERACTIVE_SESSIONS.SESSIONDATE)
我的問題是,當我在一組由離開我的語句收到無效的ORA-00904錯誤,但是我已經驗證表名完全匹配。
當我刪除集團通過聲明我得到ORA-00937不是一個單一的組羣功能,我通常會用一個組解決BY
有沒有人在那裏遇到過類似的東西嗎?是否有任何技巧來解決這種錯誤,或我是密集的,錯過了明顯的東西?
另外我也試過,但它僅與最近Interactive_Sessions.Sessiondate爲任何Interactive_Users.Userid,而不是每個Interactive_Users.Userid
Select
INTERACTIVE_USERS.USERID, PATRONINFO.FIRSTNAME, PATRONINFO.LASTNAME,
PATRONINFO.PATRONID, INTERACTIVE_USERS.EMAIL,
INTERACTIVE_SESSIONS.SESSIONDATE
FROM
INTERACTIVE_SESSIONS
JOIN
INTERACTIVE_USERS
ON
INTERACTIVE_SESSIONS.USERID = INTERACTIVE_USERS.USERID
JOIN
PATRONINFO
ON
INTERACTIVE_USERS.PID = PATRONINFO.PATRONID
WHERE
interactive_sessions.sessiondate=(Select
MAX(Interactive_sessions.sessiondate) from Interactive_sessions)
我會嘗試刪除所有的GROUP BY元素,看看它是否會運行。把元素拿出來,當你有一些工作的時候,把它們一個接一個地加回去。 –
哪個dbms?如果我們將答案發布到錯誤的dbms中,那就沒用了。 – Eric
你的第一個查詢有什麼問題?看起來沒問題。你是否試圖在沒有'ORDER BY'的情況下運行它? – Eric