Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Skriva om SQL-sats

Postades av 2005-04-24 23:50:06 - Daniel Gamvik, i forum mysq, Tråden har 7 Kommentarer och lästs av 733 personer

Hejsan!

Jag har en SQL-sats där jag använder mig av mig av subqueries, men som ska användas på en MySQL server som ej stöder detta. Jag har försökt att skriva om den till olika typer av join, men jag får den inte lika snabb.

Nån som orkar ta en titt och komma med förslag? Det är en funktion för att lista olika kategorier i ett forum där jag räknar ut antalet inlägg i ett forum och senaste inläggets datum. Fråga om ni inte förstår hur det är upplagt, inte så svårt dock.

SELECT f.Name, f.Info, COUNT(e.ForumID) AS Counted, CONCAT('forum_tree.aspx?id=',f.ForumID) AS Link, IFNULL(MAX(e.LastReplyDate),'0001-01-01') AS LastReplyDate FROM (SELECT ForumID, PhoneID, LastReplyDate FROM forum_entries WHERE ReplyThread = 0) AS e RIGHT JOIN forum_forums AS f ON e.ForumID = f.ForumID AND e.PhoneID = 0 GROUP BY f.ForumID ORDER BY f.Name

Tack på förhand!
/Danne


Svara

Sv: Skriva om SQL-sats

Postades av 2005-04-25 09:03:42 - Per Persson

Jag förstår inte varför du använder en subquery...

Duger inte denna lika bra?

SELECT f.Name, f.Info, COUNT(e.ForumID) AS Counted, CONCAT('forum_tree.aspx?id=',f.ForumID) AS Link, IFNULL(MAX(e.LastReplyDate),'0001-01-01') AS LastReplyDate 
FROM forum_entries AS e 
RIGHT JOIN forum_forums AS f 
ON ReplyThread = 0 AND e.ForumID = f.ForumID AND e.PhoneID = 0 
GROUP BY f.ForumID ORDER BY f.Name


Svara

Sv:Skriva om SQL-sats

Postades av 2005-04-25 20:45:14 - Daniel Gamvik

Jo, visst funkar den. Den tar dock mycket längre tid att utföra än den jag skrivit. Fast kanske är så att jag får stå ut med längre exekveringstid. Eller?

/Daniel


Svara

Sv: Skriva om SQL-sats

Postades av 2005-04-25 21:40:29 - Göran Andersson

Utgå ifrån forum_forums och gör en left join på forum_entries istället. Då får du alla villkoren utom ett i where-satsen, vilket troligen blir bra mycket snabbare.


Svara

Sv:Skriva om SQL-sats

Postades av 2005-04-25 22:24:36 - Daniel Gamvik

Hmm... fast då missar jag ju de forumkategorier som inte har några inlägg i sig väl?

/Danne


Svara

Sv: Skriva om SQL-sats

Postades av 2005-04-25 23:02:49 - Per Persson

Vilka index har du skapat för tabellerna?


Svara

Sv: Skriva om SQL-sats

Postades av 2005-04-25 23:04:12 - Göran Andersson

> Hmm... fast då missar jag ju de forumkategorier som inte har några inlägg i sig väl?

Nej.

Att göra en right join mellan tabell B och A är samma sak som att göra en left join mellan tabell A och B.


Svara

Sv:Skriva om SQL-sats

Postades av 2005-04-25 23:11:13 - Daniel Gamvik

EntryID och ForumID ligger som PRIMARY index på inläggstabellen och ForumID som PRIMARY på forum-tabellen.

/Danne


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 154
27 952
271 704
698
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies