Chcę wybrać tylko najnowsze membership_id z user_payments stołowych od użytkownika z user_id równej 1.MAX (data) - SQL ORACLE
ten sposób user_payment tabela wygląda następująco:
PAYM_ID USER_ID MEMBSHIP_ID PAYM_DATE
---------- ---------- ----------- -------------------------------
1 1 1 18-DEC-09 12.00.00.000000000 AM
2 1 2 18-DEC-10 12.00.00.000000000 AM
3 1 2 18-DEC-11 12.00.00.000000000 AM
4 2 3 17-MAR-11 12.00.00.000000000 AM
5 3 3 18-JUN-12 12.00.00.000000000 AM
6 4 2 17-FEB-12 12.00.00.000000000 AM
7 5 2 18-FEB-11 12.00.00.000000000 AM
8 5 2 18-FEB-12 12.00.00.000000000 AM
9 6 1 01-JUN-12 12.00.00.000000000 AM
10 7 1 03-FEB-11 12.00.00.000000000 AM
11 7 2 03-FEB-12 12.00.00.000000000 AM
próbuję bezskutecznie następujący kod:
SELECT MEMBSHIP_ID
FROM user_payment
WHERE user_id=1 and MAX(paym_date);
i dostaję ten błąd: SQL Error: ORA-00934: funkcja grupa nie ma umożliwić ed tutaj 00934. 00000 - "funkcja grupowa jest tutaj zabroniona"
Jak mogę to naprawić? z góry dziękuję!
Ta odpowiedź koreluje z podzapytania. Nie będziesz musiał zmieniać argumentu identyfikator_użytkownika w wielu miejscach i nie będziesz musiał zajmować się tworzeniem wielu parametrów, jeśli użyjesz go z innego kodu. – shawnt00