Hej igen, allt fungerad bra med hjälpen jag fick sist på min blogg.
Jag har nu gjort om sql uttrycket lite (tyckte det blev mer logiskt). Men nu har jag också stuvat in en tredje tabell med svarsinlägg på alla bloggarna.
Jag har i stort sett löst allt, men ett litet problem kvarstår. Jag vill nu att den förrutom att lista blogg kategorierna också ska kunna lista senaste skrivna kommentar på vilken blogg som helst under respektive kategori. Detta är vad jag gjort nu:
sql="select FLDtitel,FLDrubrik,FLDname from TBLindex,TBLblogg,TBLsvar where TBLindex.FLDindexid = TBLblogg.FLDindexid AND TBLblogg.FLDid = (select max(bg.FLDid) from TBLblogg AS bg where bg.FLDindexid = TBLBlogg.FLDindexid) AND TBLsvar.ID =(select max(svar.ID) from TBLsvar AS svar where svar.FLDsvarsid = TBLblogg.FLDid)order by FLDtitel"
detta fungerar bra så länge det finns ett svar under den listade bloggen, om inget svar finns under någon av bloggarna så kommer det innebära att den helt hoppar över att lista den kategorin med sin senaste blogg. Så hur löser man det? går det?
oskarsMedlem sedan nov. 20051 317 inlägg Om inte SQL-frågan hittar något kan du använda följande om du kör ASP:
If RecSet.EOF Then
' Om recordsettet är tomt gör då detta:
Else
' Om det inte är tomt, gör detta:
End If
...om jag förstår din fråga rätt :)
Nej det hela måste styras från sql utrrycket, eftersom den när den är gjord som nu redan filtrerat bort resultat som jag inte vill att den ska pågrund av att vissa bloggar inte har några kommentarer.
Peter SMedlem sedan dec. 20025 483 inlägg select FLDtitel
, FLDrubrik
, FLDname
from (TBLindex
inner
join TBLblogg
on TBLindex.FLDindexid = TBLblogg.FLDindexid)
left
join TBLsvar
on TBLsvar.svarsid = TBLblogg.FLDid
where TBLblogg.FLDid
= (select max(bg.FLDid)
from TBLblogg AS bg
where bg.FLDindexid = TBLBlogg.FLDindexid)
AND (TBLsvar.id is null or TBLsvar.id
= (select max(svar.id)
from TBLsvar svar
where svar.FLDsvarsid = TBLblogg.FLDid))
order
by FLDtitel
Tackar så jättemycket! den fungerar perfekt som jag vill.
Har lite svårt å se logiken i inner join å left join (lite förvirrande) men jag antar att i det här fallet måste man använda det så. Hur som helst så fungerar det jättebra (får försöka sätta mig in mer i sql, så jag förstår exakt hur joinarna funkar hehe).
Tack än en gång!.