Avatar billede l_otto Nybegynder
19. maj 2006 - 17:20 Der er 19 kommentarer og
1 løsning

hjælp til join sætning

jeg har en to tabeller der skal arbejde lidt samme

hold
holdnavn

Når jeg lister holdnavn skal jeg kunne klikke på et holdnavn

Muslinger

når jeg så kommer ind på siden skal den vise hvilke hold der ligger under Muslinger

I tabellen hold har jeg et felt der hedder "holdnavn" så når man opretter et hold vælger man under hvilket holdnavn holdet tilhører (Muslinger hold 101)

Håber I er med på hvad jeg gerne vil..
Avatar billede eagleeye Praktikant
19. maj 2006 - 20:21 #1
Ja det det skulle være muligt men hvordan er de to kolonner join'et er det via ID på holdet eller navnet på holdet. Princippet i din SQL sætning bliver som dette:


holdnavn = Request.Querystring("navn") 'skal komme via linket
SQL = "select * from hold left join holdnavn on hold.holdnavnid = holdnavn.id where holdnavn = '" & holdnavn & "'"



det ville være en god ide kun at tage de kolonne med ud som du har brug for eks:


SQL = "select hold.*, holdnavn.holdnavn from hold left join holdnavn on hold.holdnavnid = holdnavn.id where holdnavn = '" & holdnavn & "'"
Avatar billede l_otto Nybegynder
19. maj 2006 - 20:36 #2
altså det er holdnavnet der er fællesnævneren

men jeg bruger denne her til at komme til siden

strLink = "<a href='holdliste.asp?id=" & rs("Id") & "'>"& strNavn & "</a>

hvilken kode skal jeg så bruge til holdliste.asp ?
Avatar billede eagleeye Praktikant
19. maj 2006 - 20:39 #3
ok hvad hedder de to kolonne som indeholder holdnavn?
Hedder de begge holdnavn så kan du gøre det i stil med:



holdid = Request.Querystring("id")

SQL = "select hold.*, holdnavn.holdnavn from hold left join holdnavn on hold.holdnavn = holdnavn.holdnavn where holdnavn.id = " & holdid
Avatar billede l_otto Nybegynder
19. maj 2006 - 20:46 #4
jeg prøverlige om lidt tak.
Avatar billede eagleeye Praktikant
19. maj 2006 - 20:53 #5
Det som skal stå i "on" delen:  on hold.holdnavn = holdnavn.holdnavn

Er de to kolonner som databasen sakl bruge til at joine de to tabeller.

Sm den er lavet tages ale poster fra tabellen hold samt den joiner tabellen holdnavn på de poster hvor join ledet opfyldes ("on" delen). Så udvælges det valgte hold vha. where delen.



Når jeg lige tænker over det skal LEFT JOIN rettes til INNER JOIN så den kun tager poster med hvis der er data i begge tabellerne:

SQL = "select hold.*, holdnavn.holdnavn from hold inner join holdnavn on hold.holdnavn = holdnavn.holdnavn where holdnavn.id = " & holdid
Avatar billede l_otto Nybegynder
19. maj 2006 - 21:01 #6
jeg får denne her

Microsoft VBScript compilation error '800a0409'

Unterminated string constant

/tilmelding/holdnavnliste.asp, line 19

SQL = "select hold.* holdnavn.holdnavn from hold inner join holdnavn on hold.holdnavn = holdnavn.holdnavn where holdnavn.id = " & holdid")
------------------------------------------------------------------------------------------------------------------------------------------^
Avatar billede eagleeye Praktikant
19. maj 2006 - 21:03 #7
prøv at rette den til:

SQL = "select hold.* holdnavn.holdnavn from hold inner join holdnavn on hold.holdnavn = holdnavn.holdnavn where holdnavn.id = " & holdid
Avatar billede l_otto Nybegynder
19. maj 2006 - 21:10 #8
æv den er lige ved at være der

Microsoft OLE DB Provider for ODBC Drivers error '80040e0c'

Command text was not set for the command object.

/tilmelding/holdnavnliste.asp, line 20


SQL = "select hold.* holdnavn.holdnavn from hold inner join holdnavn on hold.holdnavn = holdnavn.holdnavn where holdnavn.id = " & holdid
Set rs = Conn.Execute(strSQL)

%>
<%
Response.write "<table>"
Response.write "<tr><td bgcolor='#FFCD32'><b>holdnav</td>"
Do
Response.write "<tr><td bgcolor='#FFF5D7'>"
Response.write rs("holdnavn")
Response.write "</td></tr>"
rs.MoveNext
Loop While Not rs.EOF
Response.Write "</table>"
Conn.Close
Set Conn = Nothing
%>
Avatar billede eagleeye Praktikant
19. maj 2006 - 21:11 #9
ok, den fejl kommer fordi der står strSQL i Conn.Execute men SQL variablen hedder kun SQL så prøv at rette:

Set rs = Conn.Execute(strSQL)

til:

Set rs = Conn.Execute(SQL)
Avatar billede l_otto Nybegynder
19. maj 2006 - 21:14 #10
rette

Microsoft OLE DB Provider for ODBC Drivers error '80040e09'

[TCX][MyODBC]You have an error in your SQL syntax near '.holdnavn from hold inner join holdnavn on hold.holdnavn = holdnavn.holdnavn whe' at line 1

/tilmelding/holdnavnliste.asp, line 20
Avatar billede eagleeye Praktikant
19. maj 2006 - 21:16 #11
jeg har vist glemt et komma prøv lige at rette SQL til dette:

SQL = "select hold.*, holdnavn.holdnavn from hold inner join holdnavn on hold.holdnavn = holdnavn.holdnavn where holdnavn.id = " & holdid
Avatar billede l_otto Nybegynder
19. maj 2006 - 21:17 #12
Microsoft OLE DB Provider for ODBC Drivers error '80040e09'

[TCX][MyODBC]You have an error in your SQL syntax near '' at line 1

/tilmelding/holdnavnliste.asp, line 20
Avatar billede eagleeye Praktikant
19. maj 2006 - 21:18 #13
passer kolonnenavne i begge tabeller?
Avatar billede l_otto Nybegynder
19. maj 2006 - 21:22 #14
ja det skulle de gerne


her kan du se holdnavn = peter (tabel=holdnavn) (felt=holdnavn)

http://www.slsk.dk/tilmelding/default.asp
Avatar billede eagleeye Praktikant
19. maj 2006 - 21:25 #15
ok, der mangler vist også den linie som hender ID prøv at tilføje:

holdid = Request.Querystring("id")


før denne linie:

SQL = "select hold.*, holdnavn.holdnavn from hold inner join holdnavn on hold.holdnavn = holdnavn.holdnavn where holdnavn.id = " & holdid
Avatar billede l_otto Nybegynder
19. maj 2006 - 21:28 #16
nemlig det var så mig der sov der nu virker det.. jeg har lige to ting til en tilmedling og en tæller  måske du vil hjælpe jeg kan lige ligge 200p oveni eller skal jeg oprette et ny sprg ?
Avatar billede eagleeye Praktikant
19. maj 2006 - 21:33 #17
hvis du vil give ekstra er det nok bedst det er et nyt spørgsmål.
Avatar billede eagleeye Praktikant
19. maj 2006 - 21:45 #18
men ellers hvad er de to sprøgsmål så kan vi da prøve at kigge på dem
Avatar billede l_otto Nybegynder
19. maj 2006 - 21:49 #19
jeg er lige ved at gøre dem klar man skal kunne tilmelde det hold man vælger og så få sendt en email der bekræfter tilmelding er lige ved at lave en table til telmeldning med fornavn osv... email skal være i aspmail og den skal tage de info med som holdet indeholder
Avatar billede l_otto Nybegynder
22. maj 2006 - 09:56 #20
hjælp den er gået død og vil ikke ? :-)

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[TCX][MyODBC]Unknown column 'Muslinger' in 'where clause'

/tilmelding/holdnavnlisten.asp, line 21
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