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


SQL, välja underkategorier

Postades av 2003-08-04 08:40:49 - Anders Moldin, i forum asp - allmänt, Tråden har 9 Kommentarer och lästs av 967 personer

Hej!
Jag har en databas som ser ut såhär i access.
Jag ska plocka ut "name" ut bokstavsordning, men om "belongsToCategory" är större än noll ska den hamna direkt under sin kategori.
Vad ska jag använda för SQL-sträng?

id belongsToCategory name description
33 Böcker Alla sorters böcker
35 33 Fantasy
37 33 Hästböcker Hästböcker finns det massor. Men vilka är bäst?
38 35 Harry Potter
39 Serier Alla sorters serier
42 39 Dragonball av Akira Toriyama
43 Mitt bibliotek Berätta vad som är bra eller dåligt med ditt bibliotek. Eller beskriv ditt drömbibliotek!
44 33 Tvillingarna av Francine Pascal Är du en tvillingarna fan? Skriv här då!
45 Hemsidor och datorer Har du tips och frågor om hur du gör hemsidor eller grejar med datorn? Gå hit då!
46 43 Barnens bibliotek Vad är bra och vad är dåligt? Vad saknas?
47 Djur
48 Författare


T.ex:
Böcker, Böcker : Fantasy, Böcker : Fantasy : Harry Potter, Böcker : Hästböcker osv...

Mycket tacksam för hjälp!


Svara

Sv: SQL, välja underkategorier

Postades av 2003-08-04 09:57:16 - Andreas Hillqvist

Jag förstår inte vad det är för resultat du söker.


Svara

Sv: SQL, välja underkategorier

Postades av 2003-08-05 18:27:42 - Mattias Lind

Tycker att du ska göra om databasen istället. En tabell för kategorier och en tabell för böcker. Vill du sedan utöka databasen med författare så är det bara att skapa en tabell för författare oxå. Du kommer förmodligen att behöva några kopplingstabeller oxå. Mitt tips är att du läser på mer om databaser och normalformerna så kommer allt att lösa sig av sig självt i framtiden.

/HML


Svara

Sv: SQL, välja underkategorier

Postades av 2003-08-07 13:33:48 - Johan Brattström

Hej,
Här kommer ett exempel på hur du bygger upp det hela.

Exempel tabell:

DepId DepIdp Description
1 0 Böcker
2 1 Fantasy
3 1 Datorer
4 0 Cd-skivor
5 4 Cd rea

1. För att nu plocka ut samtliga huvudrubriker, dvs där kolumnen DepIdP är lika
med noll.
<code>
select DepId, Description from tabell where depidp = 0 order by description asc
</code>

Ger resultatet:
1 Böcker
4 Cd-skivor

2. För att plocka ut vilka underrubriker som finns i angiven huvudrubrik
<code>
select DepId, Description from tabell where depidp = 1
</code>

Ger resultatet:
2 Fantasy
3 Datorer

Det är rekommenderat att skapa en tabell som ovan, där du enbart lagrar
huvud- och underriker, sätt där DepId som PRIMARY KEY, och AUTO_INCREMENT.

I den tabell där du sedan lagrar t.ex böcker, cd-skivor mm, i den tabellen ska det
finnas en DepId kolumn som är en FOREIGN KEY till DepId i tabellen för huvud-
och underrubriker.

Lycka till



Svara

Sv: SQL, välja underkategorier

Postades av 2003-08-07 14:44:58 - Anders Moldin

Jo, tack så jätte, jättemycket för hjälpen!
Ungefär så långt har jag också kommit.
Kruxet är att jag ska loopa underrubrikerna samtidigt som rubrikerna.
Börjar mest första, kollar _om_ det finns underrubriker. Gör det det så skriver jag ut dem. Sen kommer det svåra, jag ska kolla om det finns underrubriker till underrubrikerna.
Och jag vet inte hur jag ska få skriptet att självt kolla hur långt ner underrubrikerna går innan det ska tillbaka upp till nästa rubrik...

Nån idé?


Svara

Sv: SQL, välja underkategorier

Postades av 2003-08-08 09:11:41 - Johan Brattström

Hej igen,

frågan är hur många nivåer du kommer att använda i din navigering bland rubriker och underrubriker, samt om du måste ladda allting med en gång.

Behöver du ladda allt i ett svep du kan skapa tre Recordset, om du använder tre nivåer.
Exempel:
<code>
dim rshrub, rsurub, rsuurub
Set rshrub = createobject("ADODB.Recorset")
Set rsurub = createobject("ADODB.Recorset")
Set rsuurub = createobject("ADODB.Recorset")

'Hämta huvudrubriker
rshrub.open "select depid, depidp, description from tabell where depidp=0 order by description asc", [connectstring]

if not rshrub.eof then
do until rshrub.eof

' skriv ut huvudrubriken
response.write rshrub("description") & "<br>"

' hämtar underrubriker 1
rsurub.open "select depid, depidp, description from tabell where depidp=" & rshrub("depid") & " order by description asc", [connectstring]
if not rsurub.eof then

do until rsurub.eof
' skriv ut underrubriker 1
response.write rsurub("description") & "<br>" '

' hämtar underrubrikerna 2 (till underrubrik 1)
rsuurub.open "select depid, depidp, description from tabell where depidp=" & rsurub("depid") & " order by description asc", [connectstring]
if not rsuurub.eof then

do until rsuurub.eof
' skriv ut underrubriker 2
response.write rsuurub("description")
rsuurub.movenext
loop
rsuurub.close
end if
rsurub.movenext
loop
rsurub.close
end if
rshrub.Movenext
loop
rshrub.close
end if

set rshrub = Nothing
set rsurub = Nothing
set rsuurub = Nothing
</code>


Svara

Sv: SQL, välja underkategorier

Postades av 2003-08-08 10:38:44 - Andreas Hillqvist

Du skall inte använd 0. Null är ett bättre värde eftersom du då kan behålla referensintegritet.


*Om du vill lista en herarki kan du skriva:
<code>
Function ListStuff(con, rs)
Dim rsSub
Set rsSub = Server.CreateObject("ADODB.Recordset")
Response.Write "<UL>"
Do Until rs.EOF
Response.Write "<LI>" & rs("description") & "</LI>"

rsSub.Open "SELECT depid, description FROM tabell WHERE depidp = " & rs("depid") & " ORDER BY description ASC", Con
If rs.BOF And rs.EOF Then
Else
ListStuff con, rsSub
End If
rsSub.Close

rs.MoveNext
Loop
Response.Write "</UL>"
Set rsSub = Nothing
End Sub

Dim rs
Dim con
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "<<<Din connectstring>>>"

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT depid, description FROM tabell WHERE depidp Is Null ORDER BY description ASC", Con

If rs.BOF And rs.EOF Then
Respons.Write "Det finns inga poster!"
Else
ListStuff con, rs
End If

rs.Close
Set rs= Nothing

con.Close
Set con = Nothing
</code>

Bör fungerar oavsett hur många nivåer du har.


Svara

Sv: SQL, välja underkategorier

Postades av 2003-08-08 13:32:43 - Anders Moldin

Du borde ha spö för att du är så grym!
Här kan resultatet beskådas: http://www.bibl.vgregion.se/barn/bokforum/viewCategoriesAndThreads.asp

Och Andreas, vänta dig en present på posten om jag får din adress! (Jag tjänar ju pengar på detta egentligen)


Svara

Sv: SQL, välja underkategorier

Postades av 2003-08-08 16:15:02 - Andreas Hillqvist

Du kan även använda din datastruktur för att skapa Bread Crumb Trail
.
Se inlägg för kodexempel:
[Bread Crumb Trail]


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 786
27 960
271 761
849
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