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


Problem med sökning!

Postades av 2002-06-19 12:07:38 - Peter From, i forum asp - allmänt, Tråden har 3 Kommentarer och lästs av 374 personer

Jag håller på med ett diskussionsforum till ett informationssystem och den innehåller förståss en sökfunktion. Problemet är dock att den loopar ut resultatet TRE (!) gånger ur databasen..! -suck-

Koden ser ut så här:

SELECT Forum_SubGroups.Id, Forum_SubGroups.Name, Forum_SubGroups.Comment, Addressbook.Addressbook_FirstName, Addressbook.Addressbook_LastName, Count(Forum_Replies.Id) AS AntalförId, Max(Forum_Topic.CreationDate) AS MaxförCreationDate, Forum_Groups.BgColor, Forum_Groups.BorderColor, Forum_Groups.Name, Addressbook.Addressbook_Id FROM ((Division INNER JOIN [User] ON Division.Division_Id = User.User_DivisionID) INNER JOIN ((Forum_Groups INNER JOIN (Forum_SubGroups INNER JOIN Addressbook ON Forum_SubGroups.UserID = Addressbook.Addressbook_UserID) ON Forum_Groups.Id = Forum_SubGroups.GroupID) LEFT JOIN Forum_Topic ON Forum_SubGroups.Id = Forum_Topic.SubGroupID) ON Division.Division_Id = Forum_Groups.DivisionID) LEFT JOIN Forum_Replies ON Forum_Topic.Id = Forum_Replies.TopicID GROUP BY Forum_SubGroups.Id, Forum_SubGroups.Name, Forum_SubGroups.Comment, Addressbook.Addressbook_FirstName, Addressbook.Addressbook_LastName, Forum_Groups.BgColor, Forum_Groups.BorderColor, Forum_Groups.Name, Addressbook.Addressbook_Id, User.User_Id, Forum_Topic.Subject, Forum_Topic.Message, Forum_Replies.Message

Vad är det jag missar???

Tacksam för hjälp...


Svara

Sv: Problem med sökning!

Postades av 2002-06-19 12:15:08 - Johan Djupmarker

Det är totalt omöjligt att läsa en så lång SQL-sats utan rabrytningar... Utan att ha studerat det närmare så tror jag att det är en join som ställer till det.

/Johan


Svara

Sv: Problem med sökning!

Postades av 2002-06-19 12:29:02 - Andreas Hillqvist

Du länkar grupp mot divesion mot användare. Med andra ord kommer resultatet att visas lika många gånger som det finns användare under gruppens divesion.

Har ingen anning om vad divessionstabellen är till för. Men tror du skall länka användarna till inläggen för att visa vem som skrivit det.

Hur ser din databasstrukltur ut?
Vad vill du ha ut?


Svara

Sv: Problem med sökning!

Postades av 2002-06-19 14:41:22 - Peter From

Hmmm... Vad jag vill få ut är ETT enda sökresultat men, som sagt, nu blir det flera.

Så här ser det egentligen ut (det är MYCKET):

<code>
If (iTopicIdSearch > 0) Then


sSqlString = "SELECT "
sSqlString = sSqlString + "Forum_SubGroups.Id, "
sSqlString = sSqlString + "Forum_SubGroups.Name, "
sSqlString = sSqlString + "Forum_SubGroups.Comment, "
sSqlString = sSqlString + "Addressbook.Addressbook_FirstName, "
sSqlString = sSqlString + "Addressbook.Addressbook_LastName, "
sSqlString = sSqlString + "Count(Forum_Replies.Id) AS AntalförId, "
sSqlString = sSqlString + "Max(Forum_Replies.CreationDate) AS MaxförCreationDate, "
sSqlString = sSqlString + "Forum_Groups.BgColor, "
sSqlString = sSqlString + "Forum_Groups.BorderColor, "
sSqlString = sSqlString + "Addressbook.Addressbook_Id, "
sSqlString = sSqlString + "Forum_Groups.Name "
sSqlString = sSqlString + "FROM (Addressbook INNER JOIN ((Forum_Groups INNER JOIN Forum_SubGroups ON Forum_Groups.Id = Forum_SubGroups.GroupID) "
sSqlString = sSqlString + "LEFT JOIN Forum_Topic ON Forum_SubGroups.Id = Forum_Topic.SubGroupID) ON Addressbook.Addressbook_Id = Forum_SubGroups.AddressbookID) "
sSqlString = sSqlString + "LEFT JOIN Forum_Replies ON Forum_Topic.Id = Forum_Replies.TopicID "

If (sTopicTextSearch <> "") Then
sSqlString = sSqlString + "WHERE (((Forum_Topic.Subject) Like '%" & sTopicTextSearch & "%')) OR (((Forum_Topic.Message) Like '%" & sTopicTextSearch & "%')) OR (((Forum_Replies.Message) Like '%" & sTopicTextSearch & "%')) OR (((Forum_SubGroups.Name) Like '%" & sTopicTextSearch & "%')) OR (((Forum_SubGroups.Comment) Like '%" & sTopicTextSearch & "%')) "
sSqlString = sSqlString + "GROUP BY Forum_SubGroups.Id, Forum_SubGroups.Name, Forum_SubGroups.Comment, Addressbook.Addressbook_FirstName, Addressbook.Addressbook_LastName, Forum_Groups.BgColor, Forum_Groups.BorderColor, Addressbook.Addressbook_Id, Forum_Groups.Id, Forum_Groups.Name "
sSqlString = sSqlString + "HAVING (((Forum_Groups.Id)=" & iTopicIdSearch & "));"
Else
sSqlString = sSqlString + "WHERE (((Forum_Groups.Id)=" & iTopicIdSearch & ")) "
sSqlString = sSqlString + "GROUP BY Forum_SubGroups.Id, Forum_SubGroups.Name, Forum_SubGroups.Comment, Addressbook.Addressbook_FirstName, Addressbook.Addressbook_LastName, Forum_Groups.BgColor, Forum_Groups.BorderColor, Addressbook.Addressbook_Id, Forum_Groups.Name;"
End If

Else

sSqlString = "SELECT "
sSqlString = sSqlString + "Forum_SubGroups.Id, "
sSqlString = sSqlString + "Forum_SubGroups.Name, "
sSqlString = sSqlString + "Forum_SubGroups.Comment, "
sSqlString = sSqlString + "Addressbook.Addressbook_FirstName, "
sSqlString = sSqlString + "Addressbook.Addressbook_LastName, "
sSqlString = sSqlString + "Count(Forum_Replies.Id) AS AntalförId, "
sSqlString = sSqlString + "Max(Forum_Topic.CreationDate) AS MaxförCreationDate, "
sSqlString = sSqlString + "Forum_Groups.BgColor, "
sSqlString = sSqlString + "Forum_Groups.BorderColor, "
sSqlString = sSqlString + "Forum_Groups.Name, "
sSqlString = sSqlString + "Addressbook.Addressbook_Id "
sSqlString = sSqlString + "FROM ((Division INNER JOIN [User] ON Division.Division_Id = User.User_DivisionID) "
sSqlString = sSqlString + "INNER JOIN ((Forum_Groups INNER JOIN "
sSqlString = sSqlString + "(Forum_SubGroups INNER JOIN Addressbook ON "
sSqlString = sSqlString + "Forum_SubGroups.UserID = Addressbook.Addressbook_UserID) ON "
sSqlString = sSqlString + "Forum_Groups.Id = Forum_SubGroups.GroupID) LEFT JOIN Forum_Topic "
sSqlString = sSqlString + "ON Forum_SubGroups.Id = Forum_Topic.SubGroupID) ON "
sSqlString = sSqlString + "Division.Division_Id = Forum_Groups.DivisionID) "
sSqlString = sSqlString + "LEFT JOIN Forum_Replies ON Forum_Topic.Id = Forum_Replies.TopicID "
sSqlString = sSqlString + "GROUP BY Forum_SubGroups.Id, Forum_SubGroups.Name, "
sSqlString = sSqlString + "Forum_SubGroups.Comment, Addressbook.Addressbook_FirstName, "
sSqlString = sSqlString + "Addressbook.Addressbook_LastName, Forum_Groups.BgColor, "
sSqlString = sSqlString + "Forum_Groups.BorderColor, Forum_Groups.Name, Addressbook.Addressbook_Id, "
sSqlString = sSqlString + "User.User_Id, Forum_Topic.Subject, Forum_Topic.Message, Forum_Replies.Message "

If (sTopicTextSearch <> "") Then
sSqlString = sSqlString + "HAVING (((Forum_SubGroups.Name) Like '%" & sTopicTextSearch & "%') AND ((User.User_Id)=13)) "
sSqlString = sSqlString + "OR (((Forum_SubGroups.Comment) Like '%" & sTopicTextSearch & "%')) OR (((Forum_Topic.Subject) Like '%" & sTopicTextSearch & "%')) "
sSqlString = sSqlString + "OR (((Forum_Topic.Message) Like '%" & sTopicTextSearch & "%')) OR (((Forum_Replies.Message) Like '%" & sTopicTextSearch & "%')); "
End If


End If

response.write (sSqlString)

Set oRs = oCon.Execute(sSqlString)
If (not oRs.eof) Then
aSubGroup = oRs.getRows
Else
aSubGroup = null
End If
</code>

Inte lätt alltså att hitta strulet.


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

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 570 831
27 960
271 761
5 577
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