Hej, Jag är osäker på om jag förstått strukturen, men pröva detta: Tack, men nått litet fel blir det. Då får du förklara hur strukturen är uppbyggd... Hur representeras en tråd? ska försöka förklara hur det hela ser ut. <b>trådar, inlägg ligger i en gemensam tabell.</b> om det är en tråd så är "trad" = 0 annars är trad = id på starttråden Pröva Den fungerade mycket bättre! men inte helt bra.. Nu visas alla trådar som inga svar har överst, inte efter införsel datum för just den tråden. Annars listas övriga trådar på rätt sätt. Okej, du vill ha det så...Strulig sqlsträng
Jag skulle vilja ha lite hjälp med denna sqlsträng.
Mål:
Jag vill lista alla trådar i ett forum efter nyaste inlägget i tråden. Inte efter datumet för skapandet av tråden som det är nu.
Databas: Mysql
Nuvarande sqlsträng:
strSQL = "SELECT id,rubrik,left(msg,200),user,userid,status,visad,xdatum FROM forum Where trad='0' ORDER BY xdatum Desc"
Någon som tipsa hur jag går vidare?Sv: Strulig sqlsträng
strSQL = "SELECT id,rubrik,left(msg,200),user,userid,status,visad, MAX(trad.xdatum) AS txdatum FROM forum AS rot LEFT JOIN forum AS trad ON rot.trad='0' AND rot.id=trad.trad GROUP BY rot.id ORDER BY txdatum Desc"
Sv:Strulig sqlsträng
felmess:
Microsoft OLE DB Provider for ODBC Drivers fel '80040e31'
[MySQL][ODBC 3.51 Driver][mysqld-4.0.23-nt]Column: 'id' in field list is ambiguousSv:Strulig sqlsträng
strSQL = "SELECT rot.id, rot.rubrik, left(rot.msg,200), rot.user, rot.userid, rot.status, rot.visad, MAX(trad.xdatum) AS txdatum FROM forum AS rot LEFT JOIN forum AS trad ON rot.trad='0' AND rot.id=trad.trad GROUP BY rot.id ORDER BY txdatum Desc"
Sv:Strulig sqlsträng
Sv: Strulig sqlsträng
Forumet ligger i tre tabeller, strukturer på forumet,ser ut så här:
games - undergames - trådar -inlägg
"games" och "undergames" ligger i egna tabeller och trådar, inlägg ligger i en gemensam tabell.
Jag gjorde om din lösning till nedan för att få med "strukteren":
parent=byt(request.querystring("parent"))
fid=byt(request.querystring("forumid"))
strSQL = "SELECT rot.id, rot.rubrik, left(rot.msg,200), rot.user, rot.userid, rot.status, rot.visad,rot.parent,rot.head, MAX(trad.xdatum) AS txdatum FROM forum AS rot LEFT JOIN forum AS trad ON rot.trad='0' AND rot.id=trad.trad WHERE rot.parent='"&fid&"' AND rot.head='"&parent&"' GROUP BY rot.id ORDER BY txdatum desc"Sv:Strulig sqlsträng
Hur vet man om en post i tabellen är en tråd eller ett inlägg?Sv: Strulig sqlsträng
ex:
Rubrik id 1 trad=0
--inlägg, (id 34, trad=1)
--inlägg, (id 35, trad=1)
Hela forumet kan se ut så här:
Games1, (id=1)
--- Game1, (id=10, head=1)
--------Rubrik, (id=40, trad=0 head=1, parent=10)
------------inlägg, (id=50,trad=40,head=1,parent=10)
------------inlägg, (id=51,trad=40,head=1,parent=10)Sv:Strulig sqlsträng
strSQL = "SELECT rot.id, rot.rubrik, left(rot.msg,200), rot.user, rot.userid, rot.status, rot.visad, MAX(trad.xdatum) AS txdatum FROM forum AS rot LEFT JOIN forum AS trad ON rot.id=trad.trad WHERE rot.trad='0' GROUP BY rot.id ORDER BY txdatum Desc"
Sv: Strulig sqlsträng
En detalj är att om inget svar har gjorts för en tråd, hamnar denna tråd längst ner i listan.
Jag har gjort om sqlsträngen till:
strSQL = "SELECT rot.id, rot.rubrik, left(rot.msg,200), rot.user, rot.userid, rot.status, rot.visad, rot.xdatum, MAX(trad.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"Sv: Strulig sqlsträng
Sv:Strulig sqlsträng
IFNULL(MAX(trad.xdatum), rot.xdatum) AS txdatum