Jag skulle vilja kunna lista trådarna efter datum. Som det är nu hamnar nyaste tråden överst inte nyaste inlägget i densamma..
Koden nedan har jag försökt få ihop med hjälp av andra inlägg, men det fungerar inte för mig..
Felkod:
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'
[MySQL][ODBC 3.51 Driver][mysqld-4.0.23-nt]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'select max(xdatum) from forum where parent='1'),xdatum) as orde
forumdisplay.asp, rad 108
Rad 108: Set RS = conn.Execute(strSQL)
Db: MySQL 4.0.23
strSQL="select id,rubrik,left(msg,200),user,userid,status,visad,xdatum,coalesce((select max(xdatum) from forum where parent='"&fid&"'),xdatum) as orderDate from forum t order by orderDate desc"
select f1.id,f1.rubrik,left(f1.msg,200),f1.user,f1.userid,
f1.status,f2.visad,f1.xdatum,
coalesce(f1.xdatum,max(f2.xdatum)) as orderDate
from forum f1
left join forum f2 on f2.parent = f1.id
where f1.parent is null
group by f1.id,f1.rubrik,left(f1.msg,200),f1.user,f1.userid,
f1.status,f2.visad,f1.xdatum
order by orderDate desc
Din fråga är ointressant. Det som betyder något är hur tabellen är definierad och kolumnvärdenas innebörd.
Jag gissade lite hur det hänger, t.ex. att det första inlägget i en tråd har null i kolumnen parent och att senare inlägg har id-värdet från det första inlägget i den kolumnen.
Om detta inte stämmer så får du beskriva hur det hänger ihop.
denna kod ger samma resultat som den första koden jag använde. Den listar nyskapade trådar överrst, den sorterar inte via inläggen i tråden.
strSQL = "select f1.id,f1.rubrik,left(f1.msg,200),f1.user,f1.userid,
f1.status,f2.visad,f1.xdatum,
coalesce(f1.xdatum,max(f2.xdatum))
as orderDate from forum f1 left join forum f2 on
f2.trad = f1.id where f2.parent= '"&fid&"'
group by f1.id,f1.rubrik,left(f1.msg,200),f1.user,f1.userid,
f1.status,f2.visad,f1.xdatum order by orderDate desc"
strSQL = "SELECT rot.id, rot.rubrik, left(rot.msg,200), rot.user, rot.userid, rot.status, rot.visad, rot.xdatum,
IFNULL(MAX(trad.xdatum), rot.xdatum) AS txdatum
FROM forum AS rot LEFT JOIN forum AS trad ON rot.id=trad.trad
WHERE rot.trad='0' AND rot.parent='"&fid&"' AND rot.head='"&parent&"' GROUP BY rot.id ORDER BY txdatum Desc"
260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e