Ik heb hier laatst een topic geplaatst over een mySQL query, dat leek toen te werken maar er blijkt achteraf toch nog een probleempje te zijn. Ik heb een forums, topics en posts table en ik wil een select doen uit alle drie de tables.
Ik wil alle forums opvragen en bij elk forum moet het nieuwste topic ID worden opgevraagd en van dat nieuwste topic ID moet dan weer de nieuwste post ID worden opgevraagd.
Dit zijn de tables en de query die ik nu gebruik:
Dit werkt aardig maar in sommige situaties krijg ik niet de juiste post ID terug. Het forum ID en topic ID zijn wel altijd correct. Als het nodig mocht zijn kan ik de inhoud van de tabellen wel posten om te kijken wat er fout gaat.
Ik wil alle forums opvragen en bij elk forum moet het nieuwste topic ID worden opgevraagd en van dat nieuwste topic ID moet dan weer de nieuwste post ID worden opgevraagd.
Dit zijn de tables en de query die ik nu gebruik:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| CREATE TABLE forums
(
forumID INT AUTO_INCREMENT PRIMARY KEY
)
CREATE TABLE topics
(
topicID INT AUTO_INCREMENT PRIMARY KEY
forumID INT,
)
CREATE TABLE posts
(
postID INT AUTO_INCREMENT PRIMARY KEY
topicID INT,
)
SELECT
forums.forumID AS Forum,
MAX(topics.topicID) AS Topic,
MAX(posts.postID) AS Post
FROM
forums,
topics,
posts
WHERE
topics.forumID = forums.forumID
AND
posts.topicID = topics.topicID
GROUP BY
forums.forumID |
Dit werkt aardig maar in sommige situaties krijg ik niet de juiste post ID terug. Het forum ID en topic ID zijn wel altijd correct. Als het nodig mocht zijn kan ik de inhoud van de tabellen wel posten om te kijken wat er fout gaat.
