KoggenMedlem sedan juni 2002169 inlägg Hej allihop
Lite knepigt att förklara det här, hoppas ni förstår.
Jag håller på med en anslagstavla där jag bl a skall visa senast gjorda inlägg. Huvudtrådarna ligger i en tabell och svaren i en annan. Vid skapande av huvudtråd eller svar lagras datum och tid i tabellen tavla (huvudtrådarna).
Jag hämtar nyaste inlägget med SELECT MAX, men nu skulle jag även behöva få fram id-numret för det med SELECT MAX skapade recordsetet.
Jag skulle kunna använda datum och tid i fältet tavla_svar_senaste för att i nästa SQL-sats ta fram rätt post, men det känns inte optimalt med tanke på att det datumet faktiskt kan ändras under tiden användaren är inne och då fungerar det ju inte.
Så min fråga är: kan man få fram ett fält till i samma post förutom det man angett i MAX-satsen?
Tack på förhand
Lite kod:
SQLSenasteInlagg = "SELECT MAX(tavla_svar_senaste) as Senaste from tavla"
Set rsSenasteInlagg = CreateObject("ADODB.Recordset")
rsSenasteInlagg.open SQLSenasteInlagg, Connect
senasteDatum = rsSenasteInlagg("Senaste")
senasteId = rsSenasteInlagg("tavla_id") ' Denna rad funkar alltså inte
response.write(senasteDatum)
ZaimanMedlem sedan dec. 20014 239 inlägg Flyttas från ASP
"SELECT MAX(tavla_svar_senaste) as Senaste, tavla_id from tavla"
Prova att ta med tavla_id i din select?
KoggenMedlem sedan juni 2002169 inlägg Tack för svaret, men det funkar tyvärr inte, då får jag:
Microsoft JET Database Engine (0x80040E21)
Du försökte köra en fråga med en mängdfunktion som inte innehöll det angivna uttrycket 'tavla_id'.
/anslagstavla.asp, line 102
(rad 102 är raden med CreateObject)
ZaimanMedlem sedan dec. 20014 239 inlägg Hur ser tabellen tavla ut? Vilken databas använder du?
"SELECT MAX(tavla_svar_senaste) as Senaste, tavla_id from tavla GROUP BY tavla_id"
KoggenMedlem sedan juni 2002169 inlägg Tack nitro, nu funkar det nästan. Märkligt nog får jag det lägsta datumet som resultat. Att ändra till SELECT MIN gjorde ingen skillnad. Kan det ha att gör med att formatet på datumfältet är text och ser ut så här: 2010-01-22 08:56:15?
Jag använder Access.
Det kan ha med saken att göra. Dock tycker jag att att don borde sortera rätt ändå. Men varför lagrar du inte datumen i en kolumn med datumtyp? Finns det förresten ens några datumtyper i Access?
@ndersMedlem sedan juni 200032 969 inlägg Ja, det finns en datumtyp i Access - och lagrar man datum i textfält får man räkna med att saker och ting inte fungerar som tänkt.
Gör om, gör rätt. :)
KoggenMedlem sedan juni 2002169 inlägg Jo jag misstänkte att det kunde bli fel, men det funkar ändå inte trots att jag ändrat till Datum/tid-format i Access. Det är fortfarande lägsta datum som visas. Jag har provat att skapa en ny post efter formatändringen, men det blir samma sak.
Det känns snart som om jag får hitta en annan lösning
postolMedlem sedan jan. 201017 inlägg Testa med TOP och ORDER istället.
"Select top 1 [tavla_svar_senaste], [tavla_id] order by [tavla_svar_senaste] desc"
om du hellre vill ha reverserad ordnig så skriver du
"Select top 1 [tavla_svar_senaste], [tavla_id] order by [tavla_svar_senaste] asc"