Ik ben bezig met een website voor mijn studentennisvereniging (TAM in Groningen) en ik loop tegen een klein probleempje aan. Ik weet niet precies hoe ik het kort uit moet leggen, dus ik ga maar uitleggen hoe het zit.
Mijn database-structuur is als volgt (alleen relevante items):
Bij het opvragen van een lijstje met alle competitieteams, moeten er 4 dingen getoond worden: Team (bijv TAM Heren 1), Teamnaam (gewoon een naam die de spelers zelf bedenken voor hun team), de dag waarop het team speelt en wie de captain is van het team.
Op het moment dat de database netjes ingevuld is is mijn query:
Dit werkt prima. Naam van de captain wordt getoond met de combinatie Roepnaam + Naam. Voorbeeldje:

Het probleem ontstaat wanneer er een nieuw team wordt toegevoegd. Op dat moment zijn er nog geen leden ingedeeld in het team en is dus ook nog geen teamcaptain. Het gevolg is dat het team niet in het lijstje met alle teams komt te staan (immers bij de indeling moet iemand staan die captain is). En aangezien het indelen van de leden gebeurt in het competitieteam-subscherm valt er dus ook weinig in te delen en kun je ook moeilijk een teamcaptain aanwijzen.
Ik zou het gedeelte waarin de naam van de team captain wordt geselecteerd kunnen verwijderen uit de query en bij elk team een query uit kunnen voeren óf er een team captain is. Dit wil ik echter vermijden, en het bovenstaande in één query stoppen. Er dus voor zorgen dat het opzoeken van de naam van de teamcaptain min of meer optioneel is.
Is dit mogelijk?
Mijn database-structuur is als volgt (alleen relevante items):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| leden ID Roepnaam (VARCHAR) Naam (VARCHAR) competitieteams ID (INT) Dag (TINYINT) Team (VARCHAR) Teamnaam (VARCHAR) competitieindeling ID (INT) TeamID (INT) LidID (INT) Captain (SET: 'ja', 'nee') |
Bij het opvragen van een lijstje met alle competitieteams, moeten er 4 dingen getoond worden: Team (bijv TAM Heren 1), Teamnaam (gewoon een naam die de spelers zelf bedenken voor hun team), de dag waarop het team speelt en wie de captain is van het team.
Op het moment dat de database netjes ingevuld is is mijn query:
code:
1
2
3
4
5
6
7
8
9
10
11
12
| SELECT T.ID, T.Dag, T.Team, T.Teamnaam, L.Naam, L.Roepnaam FROM competitieteams AS T, competitieindeling AS I, leden AS L WHERE T.ID = I.TeamID AND I.LidID = L.ID AND I.Captain = 'ja' ORDER BY T.Dag, T.Team |
Dit werkt prima. Naam van de captain wordt getoond met de combinatie Roepnaam + Naam. Voorbeeldje:

Het probleem ontstaat wanneer er een nieuw team wordt toegevoegd. Op dat moment zijn er nog geen leden ingedeeld in het team en is dus ook nog geen teamcaptain. Het gevolg is dat het team niet in het lijstje met alle teams komt te staan (immers bij de indeling moet iemand staan die captain is). En aangezien het indelen van de leden gebeurt in het competitieteam-subscherm valt er dus ook weinig in te delen en kun je ook moeilijk een teamcaptain aanwijzen.
Ik zou het gedeelte waarin de naam van de team captain wordt geselecteerd kunnen verwijderen uit de query en bij elk team een query uit kunnen voeren óf er een team captain is. Dit wil ik echter vermijden, en het bovenstaande in één query stoppen. Er dus voor zorgen dat het opzoeken van de naam van de teamcaptain min of meer optioneel is.
Is dit mogelijk?
[ Voor 6% gewijzigd door Knakker op 12-01-2003 17:57 ]
Geef mij maar een Warsteiner.