TonyboyMedlem sedan jan. 200554 inlägg Hej!
Jag har en SQL-sats där jag förutom att visa nyheter(tblNews) även visar antalet kommentarer(tblKommentera) till respektive nyhet. Problemet är att den bara visar nyheter som har kommentarer.
Kan någon se vad jag gör för fel?
strSQL ="SELECT ID, Rubrik, Ingress, Innehall, Bild, Datum, Status, Dateact, COUNT(*) AS antal " & _
"FROM tblNews " & _
"INNER JOIN tblKommentera ON tblNews.ID = tblKommentera.CmtTo " & _
"WHERE Status=2 AND CURRENT_DATE >= Dateact " & _
"GROUP BY tblNews.ID " & _
"ORDER BY Datum DESC"
@ndersMedlem sedan juni 200032 969 inlägg Du gör två fel.
Det första är att du frågar om SQL i ASP-forumet, och det andra är att du använder INNER JOIN. Byt till LEFT JOIN istället.
TonyboyMedlem sedan jan. 200554 inlägg Förlåt att jag råkada posta i fel forum och TACK för hjälpen :)
TonyboyMedlem sedan jan. 200554 inlägg Dock blir sidan väldigt seg när jag kör en INNER JOIN. Vad kan detta bero på?
@ndersMedlem sedan juni 200032 969 inlägg
Förlåt att jag råkada posta i fel forum
Alla får göra misstag. :)
Jag har också märkt att INNER JOIN suger mer än LEFT JOIN, men varför vet jag icke...
(Fast nu blev det väl en left join i alla fall?)
TonyboyMedlem sedan jan. 200554 inlägg Jag har ca 1500 poster i tabellen med kommentarer och ca 200 poster i nyheter. Är detta tillräckligt för att en LEFT JOIN tar så oerhört mycket längre tid? När jag testar med INNER JOIN är det knappt någon prestandasäkning alls.
@ndersMedlem sedan juni 200032 969 inlägg Jag tyckte du skrev att INNER JOIN tar längre tid? Vad menar du alltså?
TonyboyMedlem sedan jan. 200554 inlägg LEFT JOIN på min fråga tar väääldigt lång tid medan INNER JOIN inte ger någon märkbar skillnad i prestanda.
Exempel:
INNER JOIN: http://gnrdaily.com/
LEFT JOIN: http://http://www.gnrdaily.com/test.asp