Toon posts:

SQL query hulp.... select teamnaam, via 3 tabellen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een probleempje met het ophalen van een aantal gegevens. Te gebruiken zijn de volgende tabellen:

Team
- team_id
- comp_id
- naam
- foto

Competitie
- comp_id
- naam
- updated

CompStand
- compstand_id
- team_id
- comp_id ????
- gesp_wed
- winst
- gelijk
- verlies
- punten
- dp_voor
- dp_tegen

Nu wil ik aan de hand van een teamnaam (Team.naam) de stand in de competitie voor dat team ophalen. Het lukt me wel aan de hand van de competitienaam (Competitie.naam) maar dat is niet de bedoeling. Is het mogelijk met bovenstaande tabellen ???

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

het zou mogelijk moeten zijn, je moet alleen wel het team_ID ook mee moeten geven, anders kan het een niet uniek nummer zijn...en dat gaat fout...


Hoe laat je de mensen kiezen welk team ze willen, via een text of via een dropdown?

Verwijderd

Topicstarter
Maakt me niet uit hoe. Ik wil gewoon een SQL query die aan de hand van een teamnaam gewoon de stand ophaalt. Ik kan het wel zo krijgen dat de gegevens voor dat team alleen opgehaald worden, maar de gegevens van de overige 11 tegenstanders moeten er ook bij komen.
Dus nogmaals, is het in de huidige opzet wel mogelijk. Zo niet, hoe zou ik mijn tabellen dan moeten aanpassen ???

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

(jarig!)
zoiets:
code:
1
2
3
4
5
6
7
8
select t.naam
,   cs.gesp_web
,   cs.winst
,   cs.etcetera.....
from   team t
,   compstand cs
where  cs.comp_id = t.comp_id
and    t.naam = 'Teamnaam'

Who is John Galt?


  • Killemov
  • Registratie: Januari 2000
  • Laatst online: 11-09 10:38

Killemov

Ik zoek nog een mooi icooi =)

Huiswerk ? (8>

Hey ... maar dan heb je ook wat!


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

Ik zou het dan met een drop down doen
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<%dim rsbla
     set rsbla=con.execute("SELECT comp_id, naam FROM team")%>
     <Select name="bla" size"1">
        <%do until rsbla.eof%>
            <option value="<%=rswbla("comp_id")%>"><%=rsbla("naam")%>
        <%rsbla.Movenext
        loop%>
     </select>

<%
if request("bla")<>"" then
  dim rsbladibla
  set rsbladibla=con.execute("SELECT * FROM CompStand
WHERE comp_id=" & replace(request("bla"),"'","''") & "")
%>
<%=rsbladibla("winst")%>
<%=rsbladibla("verlies")%>

enz
<%end if%>

Dit is trouwens wel ASP, als het anders moet kan ik je niet helpen

Verwijderd

Topicstarter
Nee hoor geen huiswerk. Ben bezig aan een datamodel voor mijn website. Ik wil de site database gestuurd gaan maken.

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
select t.naam
,   cs.gesp_web
,   cs.winst
,   cs.etcetera.....
from   team t
,   compstand cs
where  cs.comp_id = t.comp_id
and    t.naam = 'Teamnaam'

Bijna goed maar nog niet helemaal. Ik krijg nu wel alle standen er uit alleen worden de teams niet doorgegeven. Ik krijg nu 12x hetzelfde team maar wel met 12x een verschillende stand. Dus er moet nog iets veranderen ???
Maar zover was ik eigenlijk ook al, alleen moeten de goede teams eruit komen.

  • Frostie
  • Registratie: September 2000
  • Laatst online: 22-07 16:02
Op woensdag 03 oktober 2001 11:14 schreef MiKe_V het volgende:

Team
- team_id
- comp_id
- naam
- foto

Competitie
- comp_id
- naam
- updated

CompStand
- compstand_id
- team_id
- comp_id ????
- gesp_wed
- winst
- gelijk
- verlies
- punten
- dp_voor
- dp_tegen

Nu wil ik aan de hand van een teamnaam (Team.naam) de stand in de competitie voor dat team ophalen. Het lukt me wel aan de hand van de competitienaam (Competitie.naam) maar dat is niet de bedoeling. Is het mogelijk met bovenstaande tabellen ???
SELECT compstand.compstand_id FROM compstand WHERE compstand.teamid = (SELECT team.team_id FROM team WHERE team.naam = %)

Met een subquery kan het volgens mij zo... ik neem aan dat compstand_id de plaats op de ranglijst is?

Frostie

Weaseling out of things is important to learn. It's what separates us from the animals... except the weasel. Homer Simpson


Verwijderd

[quote]Op woensdag 03 oktober 2001 11:48 schreef MiKe_V het volgende:
code:
1
2
3
4
5
6
7
8
select t.naam
,   cs.gesp_web
,   cs.winst
,   cs.etcetera.....
from   team t
,   compstand cs
where  cs.comp_id = t.comp_id
and    t.naam = 'Teamnaam'


code:
1
 and cs.team_id = t.team_id

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op woensdag 03 oktober 2001 11:56 schreef Frostie het volgende:
SELECT compstand.compstand_id FROM compstand WHERE compstand.teamid = (SELECT team.team_id FROM team WHERE team.naam = %)
Waar slaat dat op?

Waar team.naam = 'willekeurig' ??
kan je net zo goed de where weglaten toch?

  • Frostie
  • Registratie: September 2000
  • Laatst online: 22-07 16:02
Op woensdag 03 oktober 2001 14:28 schreef ACM het volgende:

[..]

Waar slaat dat op?

Waar team.naam = 'willekeurig' ??
kan je net zo goed de where weglaten toch?
Euh ik gok dat daar de input moet komen van een user? :) Ik wist even geen andere manier om het aan te geven.

Weaseling out of things is important to learn. It's what separates us from the animals... except the weasel. Homer Simpson


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op woensdag 03 oktober 2001 14:43 schreef Frostie het volgende:
Euh ik gok dat daar de input moet komen van een user? :) Ik wist even geen andere manier om het aan te geven.
Ahzo :)

Verwijderd

Topicstarter
Hmm werkt nog niet helemaal, maar toch bedankt alvast voor jullie reacties. Ik denk dat ik maar gewoon 2 verschillende queries ga gebruiken. Ik ga toch PHP en MySQL gebruiken.
Maar mocht iemand nog de optimale Query vinden, dan zou ik hem graag zien.... >:)

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

(jarig!)
code:
1
2
3
4
5
6
7
8
9
10
select t2.naam
,   cs.gesp_web
,   cs.winst
,   cs.etcetera.....
from   team t
,   team t2
,   compstand cs
where  cs.comp_id = t.comp_id
and    t2.team_id = cs.team_id
and    t.naam = 'Teamnaam'

zo dan.

Who is John Galt?


Verwijderd

Wat mankeerde er dan aan de code van MiKe_V? (met die kleine aanvulling)
code:
1
2
3
4
5
6
7
8
9
select t.naam
,   cs.gesp_web
,   cs.winst
,   cs.etcetera.....
from   team t
,   compstand cs
where  cs.comp_id = t.comp_id
and    t.naam = 'Teamnaam'
and    cs.team_id = t.team_id

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

(jarig!)
Op woensdag 03 oktober 2001 20:32 schreef SGBas het volgende:
Wat mankeerde er dan aan de code van MiKe_V? (met die kleine aanvulling)
Daar mankeerde niks aan.
Alleen wil de topicstarter iets anders ophalen dan die query doet :o :P

Who is John Galt?


Verwijderd

Topicstarter
He thanx justmental

Jij had de oplossing. Ik moet dus eigenlijk de Team tabel met zichzelf joinen ????

Het werkt in ieder geval.
Pagina: 1