Toon posts:

[SQL/ASP]Selecteren uit verschillende tabellen.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beetje laat, maar ik ben nog steeds met mijn verslagenapplicatietje bezig en stuit op het volgende probleem:
Ik wil een tabel tabel met links creëren vanuit een geselecteerd gedeelte van mijn database, de tabel tblVerslagen. Hier staat een UserID, TeamID, VerslagID en het verslag zelf in. Ik heb aparte tabellen gecreëerd voor de users en teams.

Nu wil ik de kop van het stukje (de link naar het echte verslag) laten presenteren, met de de datum (geen probleem) en de schrijver van het stukje (wel probleem).

Hoe selecteer ik nou de schrijver van het stukje (strUserName, table tblUsers). De ID (intUserID) kan ik gemakkelijk achterhalen, maar hoe koppel ik die twee? Ik heb het geprobeerd met een tweede SQL string, maar wat ik ook doe...tluktnie.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
sSQL = "SELECT tblVerslagen.strKop,tblVerslagen.intVerslagID,tblVerslagen.strDate,...
...tblVerslagen.intUserID FROM tblVerslagen where tblVerslagen.intTeamID...
... =" & intTeamID & " Order BY strDate desc"

if oRS.EOF and oRS.BOF = true then
    Response.Write("leeg")
else
    While not oRS.EOF = true
    dim intVerslagID
    dim strUserName
    strKop = (oRS("strKop"))
    strDate = (oRS("strDate"))
    intUserID = (oRS("intUserID"))
    intVerslagID = (oRS("intVerslagID"))
    Response.Write("<tr><td width=300><a href=VerslagTeamApart.asp?intVerslagID=...
..." & intVerslagID & ">" & strKop & "</a></td>...
...<td width=100>") & strTeam & "</td><td width=100>" & strDate & "</td><td width=100>" ...
...& intUserID & "</td></tr>"
    oRS.movenext
    Wend
end if

Ik heb uiteraard de nodige SQL tutorials afgelopen, maar zonder resultaat. Kortgeleden al iets dergelijks gevraagd, waarop een prima antwoord kwam, helaas is dit toch net even anders en lukt dit me niet.

  • Erik Jan
  • Registratie: Juni 1999
  • Niet online

Erik Jan

Langzaam en zeker

Dit gaat volgens mij gewoon met een join.
code:
1
2
3
4
5
6
7
8
SELECT
  tblVerslagen.strKop, tblUsers.strUserName
FROM
  tblVerslagen, tblUsers
WHERE
  tblUsers.intUserID = tblVerslagen.intSchrijverID
GROUP BY
  tblVerslagen.strKop

Zo leg je een verband tussen de records van twee tabellen en geef je aan dat de informatie op basis van tblVerslagen.strKop uit de DB gehaald moet worden. Doet dit wat je bedoelde?

This can no longer be ignored.


Verwijderd

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SELECT
  tblVerslagen.strKop,
  tblVerslagen.intVerslagID,
  tblVerslagen.strDate,
  tblVerslagen.intUserID
  tblUsertjes.Userid
FROM 
  tblVerslagen 
LEFT JOIN 
  tblUsertjes
ON
  tblVerslagen.Userid=tblUsertjes.Userid
WHERE 
  tblVerslagen.intTeamID=" & intTeamID & " 
ORDER BY 
  strDate desc

zoiets?

hmm er zijn meerdere wegen die naar rome leiden

bonuslinkje: http://www.w3schools.com/sql/sql_join.asp

Verwijderd

Topicstarter
Die Left Join had ik nog niet geprobeerd, thx, ik ga even kijken :)

Verwijderd

Topicstarter
Op maandag 22 april 2002 00:55 schreef peidor het volgende:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SELECT
  tblVerslagen.strKop,
  tblVerslagen.intVerslagID,
  tblVerslagen.strDate,
  tblVerslagen.intUserID
  tblUsertjes.Userid
  tblUsers.strUserName <--
FROM 
  tblVerslagen 
LEFT JOIN 
  tblUsertjes
ON
  tblVerslagen.Userid=tblUsertjes.Userid
WHERE 
  tblVerslagen.intTeamID=" & intTeamID & " 
ORDER BY 
  strDate desc
Volgens mij werkt ie zo goed!
Alleen die tblUSers.strUserName moest er dus nog bij, maar het werkt! THX :)!

Trouwens, als ik nog een tabel wil betrekken, kan ik dan een tweede left join uitvoeren?

  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Ja, dat kan. Ik wil je wel vragen om gewoon eens een goede site te bekijken (zie de FAQ). De vragen die jij hebt zijn zo basaal, dat jij eerst een kennis bodem moet leggen. Als je dan nog complexere vragen hebt, helpen we je graag.
Pagina: 1