Gegevens uit database halen

  • Beste,



    Ik ben op dit moment een schema aan het maken voor een paar teams.


    Nu heb ik het volgende in de database:


    - schedules
    > id
    > week
    > player_id



    - schedules_players
    > id
    > name
    > team




    Nu wil ik dat asl ik via de link "website.com/team/Team1" ga dat ik de speeltijden van Team 1 dus zie en niet ook team 2 en 3.


    Iemand enig idee hoe ik dit uitwerk?

  • Tried didn't work (Of ik doe wat verkeerd met INNER JOIN):


    SQL
    SELECT id, name, team, player_idFROM schedules_players, schedulesINNER JOIN schedules.player_id ON schedules_players.idWHERE team = "Team1";


    Krijg dit als resultaat in PMA:

  • Misschien mis je nog wat entiteiten? Bijvoorbeeld teams, als het inderdaad teams zijn die tegen elkaar spelen. En dat evenement is een wedstrijd (team A vs team B op een bepaalde datum, tijd en locatie). En dan staan mogelijk niet al je spelers opgesteld in een opstelling voor een wedstrijd.


    Het is eigenlijk zaak dat je bij het einde begint: welke informatie wil je uiteindelijk kunnen beheren (en wat wil je automatiseren, is dit tevens een planningstool voor spelers?) en op welke informatievragen wil je antwoord kunnen geven in de vorm van overzichten en rapportages? Vervolgens kijk je welke informatie je daarvoor nodig hebt en hoe je deze organiseert.


    Is dit bijvoobeeld voor beheer van de eigen club of om bij te houden welke clubs er allemaal tegen elkaar spelen of wat?

  • Heb het werkend gekregen met de volgende code:

    SQL
    SELECT a.*, b.*
    FROM schedules AS a
    JOIN schedules_players AS b
    ON a.player_id = b.id WHERE week = '24'
    GROUP BY b.team
    ORDER BY b.name ASC;


    Nu is het enkel zo dat de spelers die nog niks hebben opgegeven, dat ze er niet tussen staan. Dit wou wel moeten gebeuren, iemand idee hoe ik dat dan oplos? Aangezien ze nu enkel worden getoond, wanneer er in schedules een rij is toegevoegd met hun speeltijden. wanneer dit niet bekend is, zouden ze er alsnog in moeten komen op de speelschema, maar dan enkel geel getoond.

  • Dan zou je spelers als uitgangspunt moeten nemen, en dan een LEFT JOIN doen, zodat als je geen resultaten in andere tabellen vindt, je nog wel de spelers ziet, en de rest van de kolommen (die geen resultaat hebben) NULL tonen.

    Heb het anders opgelost:

    1. GROUP BY b.team
    2. ORDER BY b.name ASC;


    Veranderd naar:

    1. ORDER BY b.team, b.name ASC;

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!