nie wiem, czy to jest zupełnie co trzeba, ale może trzeba spojrzeć na GROUP BY zamiast odrębnych ...
jeśli masz kilka rekordów z tym samym ID użytkownika, może być konieczne, aby określić exaclty jak rozpoznać ten, który chcesz od innych
np dostać każdy dzień member`s ostatni wywoławcza:
SELECT memberid, max(startingdate)
FROM annualfees
GROUP BY memberid
ale jeśli trzeba zidentyfikować jeden rekord w tego rodzaju sposób, ale również wyświetlić inne kolumny, myślę you may need to do some trickery like this ...
np sub-query wyżej SELECT z przyłączenia do przyłączenia drugiego kolumny chcesz:
SELECT subq.memid, subq.startdate, a.expirydate, a.amount
FROM (
SELECT memberid AS memid, max(startingdate) AS startdate
FROM annualfees
GROUP BY memberid) subq
INNER JOIN annualfees a ON a.memberid = subq.memid
AND a.startingdate = subq.startdate
od początku do końca, pokazując również tabelę danych (O/P dotarli/chwycił za pomocą "SET SPRAWDZIĆ nA") ...
-- show all rows
select *
from annualfees
order by memberid, startingdate
MEMBERID STARTINGDATE EXPIRYDATE AMOUNT
---------------------- ------------------------- -------------------- --------------------
1 02-DEC-09 05-FEB-10 111
1 25-JUN-10 25-JUN-11 222
2 25-APR-10 25-JUN-13 333
3 rows selected
/
-- show one member`s data using max(startingdate) as selector.
SELECT memberid, max(startingdate)
FROM annualfees
GROUP BY memberid
MEMBERID MAX(STARTINGDATE)
---------------------- -------------------------
1 25-JUN-10
2 25-APR-10
2 rows selected
/
-- show above data joined with the other columns.
SELECT subq.memid, subq.startdate, a.expirydate, a.amount
FROM (
SELECT memberid AS memid, max(startingdate) AS startdate
FROM annualfees
GROUP BY memberid) subq
INNER JOIN annualfees a ON a.memberid = subq.memid AND a.startingdate = subq.startdate
MEMID STARTDATE EXPIRYDATE AMOUNT
---------------------- ------------------------- -------------------- --------------------
1 25-JUN-10 25-JUN-11 222
2 25-APR-10 25-JUN-13 333
2 rows selected
/
Jak więc wybrać opcję WHICH z wielu wierszy AnnualFees dla MemberID = 123, należy wyświetlić? A może chcesz tylko jeden losowy wiersz? –