Voor de nieuws site waar ik mee bezig ben moet ik een lastreply tracker maken
Nou dat leek me simpel (zal het ook vast zijn hoor
) maar ik kom er niet goed uit:
Ik ben eik ook niet zn held in querys
Ik heb deze tabellen:
Reacties:
Nieuws:
Als ik deze query gebruik:
Dan krijg ik dit
Maar dit klopt niet
Want als ik dan deze query uitvoer:
krijg ik dit terug
Wat dus de laatste reactie is, maar die staat niet in die query daarboven?
Dat had ik dus als eerste geprobeert
Toen heb ik deze query gemaakt:
Die werkt wel goed! :
Op 1 ding na nu krijg ik dubbele titels in mn tracker
Iemand een idee hoe ik mijn query moet maken zodat hij wel goed werkt?
Ik kom er niet uit
Nou dat leek me simpel (zal het ook vast zijn hoor
Ik ben eik ook niet zn held in querys
Ik heb deze tabellen:
Reacties:
code:
1
2
3
4
5
| +----+---------+---------+------------------+------------+--------+ | id | id_user | id_item | text | datum | status | +----+---------+---------+------------------+------------+--------+ | 1 | 1 | 2 | It wasn't me. :P | 1005082439 | 1 | +----+---------+---------+------------------+------------+--------+ |
Nieuws:
code:
1
2
3
4
5
| +------+---------+------------+---------+--------------+-----------------+---------+--------+-----------+----------+ | id | user_id | titel | bericht | samenvatting | bron_url | plaatje | status | datum | bron | +------+---------+------------+---------+--------------+-----------------+---------+--------+------------+----------+ | 1151 | 11 | Test titel | | | www.happyfun.nl | | 1 | 1005082093 | happyfun | +------+---------+------------+---------+--------------+-----------------+---------+--------+-----------+----------+ |
Als ik deze query gebruik:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| SELECT
nieuws.id,
max(reacties.datum),
nieuws.titel,
users.nickname
FROM
reacties,
nieuws ,
users
where
nieuws.id = reacties.id_item
AND
reacties.id_user = users.id
group by
nieuws.id,
nieuws.titel
Order by
reacties.Datum DESC
limit 5 |
Dan krijg ik dit
code:
1
2
3
4
5
6
7
8
9
| +------+---------------------+----------------------------------------------------+----------+ | id | max(reacties.datum) | titel |nickname| +------+---------------------+----------------------------------------------------+----------+ | 1150 | 1017356405 | Verjaardag van 9 miljoen euro | razor-x | | 1149 | 1016527849 | Duitser schrijft eerste symfonie ... | razor-x | | 1144 | 1016467679 | Tweetal speelde 'flitspaaltje' |Heineken| | 1148 | 1016465715 | Conducteurs NS mishandelen reiziger | Silly | | 1146 | 1016460927 | Chris en J. LO in blije verwachting | Silly | +------+---------------------+----------------------------------------------------+----------+ |
Maar dit klopt niet
Want als ik dan deze query uitvoer:
code:
1
| select max(datum) from reacties limit 1 |
krijg ik dit terug
code:
1
2
3
4
5
| +------------+ | max(datum) | +------------+ | 1017392069 | +------------+ |
Wat dus de laatste reactie is, maar die staat niet in die query daarboven?
Dat had ik dus als eerste geprobeert
Toen heb ik deze query gemaakt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| SELECT
nieuws.id,
nieuws.titel,
max(reacties.datum),
users.nickname
FROM
reacties,
nieuws ,
users
where
nieuws.id = reacties.id_item
AND
reacties.id_user = users.id
group by
nieuws.id,
nieuws.titel,
reacties.datum
Order by
reacties.Datum DESC
limit 5 |
Die werkt wel goed! :
code:
1
2
3
4
5
6
7
8
9
| +------+-------------------------------+---------------------+-----------+ | id | titel | max(reacties.datum) | nickname | +------+-------------------------------+---------------------+-----------+ | 1 | J-Lo heeft siliconenbillen | 1017392069 | razor-x | | 1145 | Twee bejaarden expres geramd | 1017356503 | razor-x | | 1150 | Verjaardag van 9 miljoen euro | 1017356405 | razor-x | | 1150 | Verjaardag van 9 miljoen euro | 1016636280 | razor-x | | 1150 | Verjaardag van 9 miljoen euro | 1016574145 | Mr-FaTMeN | +------+-------------------------------+---------------------+-----------+ |
Op 1 ding na nu krijg ik dubbele titels in mn tracker
Iemand een idee hoe ik mijn query moet maken zodat hij wel goed werkt?
Ik kom er niet uit