Vereenvoudigde model:
tabel A:
id
[...]
tabel B:
id
AID
date
[...]
rows in B zijn dmv AID gelinkt aan één row in A, 'date' is een veld waarin een utc timestamp staat.
Een row in tabel A kan niet bestaan, zonder dat er minimaal 1 row in tabel B voorkomt met B.AID = A.id.
Ik wil uit tabel A alle rows selecteren waarbij geldt:
B.AID = A.id
B.id is het eerste (en laagste id) wat bij A.id = B.AID hoort (resultaat van SELECT id FROM B WHERE AID = x ORDER BY id ASC LIMIT 1;)
B.date > tijdX AND B.date < tijdY
Voorbeeldinhoud:
A:
1
2
3
B
id AID date
1 1 4
2 1 5
3 1 6
4 1 9
5 2 7
6 3 9
7 3 10
Als resultaat wil ik dan:
id AID date
6 3 9
Iets als SELECT A.id, B.AID, B.date FROM A INNER JOIN B ON (A.id = B.AID) WHERE B.date = 9 ORDER BY A.id DESC, B.ID ASC; lijkt goed, maar dan krijg ik B.id = 4 ook terug en dat wil ik niet, want die hoort niet bij de eerste van A.id = 1 (de eerste is B.id = 1 namelijk).
Ik hoop dat t een beetje te begrijpen is
Kan dit uberhaupt wel met MySQL 4.0.x?
tabel A:
id
[...]
tabel B:
id
AID
date
[...]
rows in B zijn dmv AID gelinkt aan één row in A, 'date' is een veld waarin een utc timestamp staat.
Een row in tabel A kan niet bestaan, zonder dat er minimaal 1 row in tabel B voorkomt met B.AID = A.id.
Ik wil uit tabel A alle rows selecteren waarbij geldt:
B.AID = A.id
B.id is het eerste (en laagste id) wat bij A.id = B.AID hoort (resultaat van SELECT id FROM B WHERE AID = x ORDER BY id ASC LIMIT 1;)
B.date > tijdX AND B.date < tijdY
Voorbeeldinhoud:
A:
1
2
3
B
id AID date
1 1 4
2 1 5
3 1 6
4 1 9
5 2 7
6 3 9
7 3 10
Als resultaat wil ik dan:
id AID date
6 3 9
Iets als SELECT A.id, B.AID, B.date FROM A INNER JOIN B ON (A.id = B.AID) WHERE B.date = 9 ORDER BY A.id DESC, B.ID ASC; lijkt goed, maar dan krijg ik B.id = 4 ook terug en dat wil ik niet, want die hoort niet bij de eerste van A.id = 1 (de eerste is B.id = 1 namelijk).
Ik hoop dat t een beetje te begrijpen is
Kan dit uberhaupt wel met MySQL 4.0.x?