Avatar billede kapoou Nybegynder
23. november 2004 - 20:48 Der er 9 kommentarer og
1 løsning

Sortering af recordset

Jeg har 2 tabeller med følgende kolonner

Medarbejdere
--id
--navn
--afdelingRef


Afdelinger
--id
--afdelingNavn

Medarbejdere/afdelingRef indeholder det ID nr. som den pågældende afdeling har i tabellen afdelinger.

Jeg vil nu udskrive afdelingerne med tilhørende medarbejdere i alfabetisk rækkefølge. Hvordan kan jeg komme til det? Kan man lave en join med dette udkom?
Avatar billede Søren Bech Morsing Praktikant
23. november 2004 - 20:53 #1
SELECT m.*, a.* FROM afdelinger a, medarbejdere a INNER JOIN
a.id = m.afdelingref ORDER BY a.afdelingnavn, m.navn

lav så 2 variabler

while løkke
var1 = a.id
Hvis var1 ikke = var2
print afdelingnavn

print navn

var2 = a.id
next
Avatar billede Søren Bech Morsing Praktikant
23. november 2004 - 20:53 #2
alt. åbner du først afdelinger
og for hver id laver du et nyt recordset med id fra afdelinger på medarbejdere
Avatar billede fun22 Nybegynder
23. november 2004 - 20:55 #3
prøv lige denne her: Det er ikke testet:

<%
    SQL = "SELECT * FROM AFDELINGER"
    Set rs = Conn.Execute(SQL)
    do while not rs.EOF
   
    %>
      <b><%=rs("afdelingNavn")%></b>
     
      <%SQLsub = "SELECT * FROM MEDARBEJDERE WHERE afdelingRef ='"&rs("id")&"'"
      Set rssub = Conn.Execute(SQLsub)
      do while not rssub.EOF
     
      %>
     
      -- <%=rssub("navn")
   
    RSsub.MoveNext
    Loop
    rssub.close

    end if
    RS.MoveNext
    Loop
    rs.close
    %>
Avatar billede kapoou Nybegynder
23. november 2004 - 21:13 #4
-->fun22 Ja den måde har jeg også brugt før men jeg ville lige høre om man kunne lave en join.

-->sbk Jeg kan ikke helt gennemskue din kode.
Avatar billede hiks Nybegynder
23. november 2004 - 21:23 #5
inner joinet laver du således:

<%
SQL = "SELECT * " & _
"FROM afdelinger INNER JOIN medarbejdere ON afdelinger.id = medarbejdere.afdelingref " & _
"ORDER BY afdelingnavn, navn;"

Set rs = Conn.Execute(SQL)

While rs.eof = False
  Response.write rs("afdelingNavn") & ": " & rs("navn") & "<br>"
  rs.movenext
Wend

%>

/hiks
Avatar billede kapoou Nybegynder
23. november 2004 - 22:09 #6
hiks--> tak for din hjælp det var lige hvad jeg ledte efter!

I 2 andre--> Ellers tak for hjælpen!
Avatar billede kapoou Nybegynder
24. november 2004 - 20:04 #7
Lige en lille ekstra ting jeg håber at du kan hjælpe mig med. Hvis jeg gerne vil have en WHERE med i joinet. F.eks. "from afdelinger where navn = 'personale'" Hvordan får man den med ?
Avatar billede hiks Nybegynder
24. november 2004 - 20:10 #8
SQL = "SELECT * " & _
"FROM afdelinger INNER JOIN medarbejdere ON afdelinger.id = medarbejdere.afdelingref " & _
"WHERE afdelingnavn = 'personale' " & _
"ORDER BY afdelingnavn, navn;"

/hiks
Avatar billede hiks Nybegynder
24. november 2004 - 20:10 #9
den er sandsynligvis case sensitiv men det finder du ud af (altså store/små bogstaver)

/hiks
Avatar billede kapoou Nybegynder
24. november 2004 - 20:26 #10
Takker!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester