Goeiedag,
Volgens mij is het antwoord vrij simpel, maar het is me even ontschoten!
Ik heb drie tabellen. Een tabel met een betaling, een tabel met een betalingsstatusgeschiedenis (hiervan kunnen meerdere record per betaling zijn) en een tabel met de verschillende statussen die mogelijk zijn. Nou wil ik graag alle betalingen en daarbij de meest recente betalingsstatus ophalen in één query. Zou zit ik te pielen met de GROUP BY en de aggregratie functies, maar volgens mij heb ik het toch verkeerd.
Dit heb ik nu, maar dat returnt alle rijen in de betalingsstatusgeschiedenis. Dat moet dus niet
.
Kan iemand mij een zetje in de goede richting geven?
Volgens mij is het antwoord vrij simpel, maar het is me even ontschoten!
Ik heb drie tabellen. Een tabel met een betaling, een tabel met een betalingsstatusgeschiedenis (hiervan kunnen meerdere record per betaling zijn) en een tabel met de verschillende statussen die mogelijk zijn. Nou wil ik graag alle betalingen en daarbij de meest recente betalingsstatus ophalen in één query. Zou zit ik te pielen met de GROUP BY en de aggregratie functies, maar volgens mij heb ik het toch verkeerd.
Dit heb ik nu, maar dat returnt alle rijen in de betalingsstatusgeschiedenis. Dat moet dus niet
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| SELECT
p.Id,
p.MemberId,
p.BankAccountNumber,
p.Amount,
p.NotReceiveBefore,
m.FirstName,
m.BetweenName,
m.LastName,
ph.PaymentStatusDate,
ps.Name
FROM
Payment AS p,
Member AS m,
PaymentHistory AS ph,
PaymentStatus AS ps
WHERE
m.Id = p.MemberId AND
ph.PaymentId = p.Id AND
ps.Id = ph.PaymentStatusId
ORDER BY
ph.PaymentStatusDate DESC |
Kan iemand mij een zetje in de goede richting geven?