Avatar billede razser Nybegynder
20. marts 2006 - 12:31 Der er 5 kommentarer og
1 løsning

Join SQL-sætning - 2 tabeller

Jeg har en tabel, der hedder Area:

AreaID    AreaName
1      Dansk
2       Engelsk

Og en tabel, der hedder Page:

PageID  PageAreaID  PageName
1    1        Side1
2    2        Page1


Jeg vil gerne have det udskrevet således på en side:

Dansk
-side1

Engelsk
-Page1

Hvordan joiner jeg de to i en sql-sætning? Der kan komme flere sprog til...
Avatar billede razser Nybegynder
20. marts 2006 - 12:41 #1
Nå, dette skulle være sql-sætningen:

strSQL = "SELECT * FROM Area INNER JOIN Page ON Area.AreaID = Page.PageAreaID"

arbejder videre....
Avatar billede fennec Nybegynder
20. marts 2006 - 12:43 #2
Tror det er bedre at lave det som loop, da jeg går ud fra at der kommer flere sider til hver sprog/område:

set rs = conn.execute("select * from Area")
while not rs.eof
  response.write rs1("AreaName") &"<br>"
  set rs1 = conn.execute("select * from Page where PageAreaId="& rs("id"))
  while not rs1.eof
    response.write "-"& rs1("PageName") &"<br>"
    sr1.MoveNext
  wend
  rs.MoveNext
wend
Avatar billede razser Nybegynder
20. marts 2006 - 12:48 #3
Ja, det lyder bedre. Jeg prøver lige..... (har også et par andre loops imellem disse)
Avatar billede eagleeye Praktikant
20. marts 2006 - 13:09 #4
Som du selv skriver:

sql = "select AreaName, PageName from Area inner join Page on Area.AreaID = Page.PageAreaID order by AreaID"


Ud skriver sådan her:

<%
sql = "select AreaName, PageName from Area inner join Page on Area.AreaID = Page.PageAreaID order by AreaID"
set rs = Conn.Execute(sql)
oldArea = ""
do while not rs.EOF
  if oldArea <> rs("AreaName") then
    oldArea = rs("AreaName")
    response.write rs("AreaName") & "<br>"
  end if
  response.write "-" & rs("PageName") & "<br>"
  rs.Movenext
loop
%>
Avatar billede razser Nybegynder
20. marts 2006 - 14:09 #5
Tak, begge scripts virker fint.

-> eagleeyes er nok bedst, da det ikke skriver sprog ud, hvis der ikke ligger nogle sider under dette... 

så læg et svar... ;-)
Avatar billede eagleeye Praktikant
20. marts 2006 - 15:48 #6
Ok så er her et svar :)
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