pirajan Medlem sedan apr. 2001 246 inlägg Trådstart 22 maj 2003 22:27 #1 Har pulat med detta halva natten, men fattar fortfarande inte Joins och sånt.
Jag har två tabeller
tblForum
id
fldTitle
fldDescription
och
tblForumMessages
fldForumId
fldUsername
fldDate
Nu vill jag skriva ut en lista som innehåller alla forumen (typ som här på webforum) i stil med:
tblForum.fldTitle tblForumMessages.fldDate tblForumMessages.fldUsername
tblForum.fldDescription
Alltså att den skriver ut ett forum med datum för senaste inlägget och vem som skrev det... Hur gör jag?
O OveRRidE Medlem sedan feb. 2001 12 078 inlägg Flyttas från ASP, VBScript.
RED. Fel.
pirajan Medlem sedan apr. 2001 246 inlägg Men detta listar ju samma forum flera gånger...?
L LarsG Medlem sedan dec. 2000 12 464 inlägg select f.fldTitle,
m.fldDate ,
m.fldUsername,
f.fldDescription
from tblForum as f inner join tblForumMessages m
on f.id = m.forumid
where fldDate in (
select max(fldDate) from tblForumMessages
where forumid = m.forumid )
pirajan Medlem sedan apr. 2001 246 inlägg Får error:
SQLState: 42000
Native Error Code: 1064
[TCX][MyODBC]You have an error in your SQL syntax near 'select max(fldDate) from tblForumMessages where forumid = m.forumid )' at line 1
S Sebbe Medlem sedan jan. 2003 2 285 inlägg /red Den redigerar vi bort.
MySQL stöder sub-queries från och med v. 4.1. Kolla här: http://www.mysql.com/doc/en/ANSI_diff_Sub-selects.html Där får du lite tips om hur du kan skriva om den.
L LarsG Medlem sedan dec. 2000 12 464 inlägg Det går inte att skriva detta med en fråga utan att använda subselect.
http://www.mysql.com/doc/en/example-Maximum-column-group-row.html