login  Naam:   Wachtwoord: 
Registreer je!
 Forum

hulp bij Join statement

Offline markla - 24/02/2006 13:06 (laatste wijziging 24/02/2006 13:15)
Avatar van marklaPHP interesse Ik ben bezig een database op te zeten van mijn club. Ik heb al verschillende tabelen maar nu heb ik het volgende :

Ik heb een tabel met wedstijd details (table details). Met de volgende selectie haal ik per wedstrijd de details uit de tabel

SELECT d.Player_ID, d.Detail_Minut, d.DetailType_ID, d.Game_ID
FROM details d
WHERE d.Game_ID='0506023'
ORDER BY d.DetailType_ID, d.Detail_Minut;

(De "WHERE d.Game_ID='0506023' " dient straks " WHERE d.Game_ID=$Game_ID " te worden maar vanwege het resultaat heb ik er nu hard een wedstrijd nummer in gezet.)

het resultaat is nu:
0506023, 165, 1, 001
0506023, 125, 1, 001
0506023, 134, 1, 001
0506023, 180, 1, 001
0506023, 14, 1, 001
0506023, 44, 1, 001
0506023, 319, 1, 001
0506023, 166, 1, 001
0506023, 314, 1, 001
0506023, 318, 1, 001
0506023, 204, 1, 001
0506023, 204, 2, 002
0506023, 134, 59, 002
0506023, 45, 2, 003
0506023, 316, 59, 003
0506023, 319, 20, 004
0506023, 125, 87, 004
0506023, 291, 10, 008
0506023, 291, 52, 008
0506023, 291, 81, 008

tot nu toe geen problemen!

Wat ik echter zou willen is dat ik per player_id achter het player_id de details zou kunnen zien. Dus zo iets ( een kort overzichtje)

  1. +-----------+------+-----+--------+------+ --------+
  2. | Naam | UIT | IN | Geel | Rood | Doelpunt|
  3. +-----------+------+-----+--------+------+ --------+
  4. | Speler 204 | 2 | | | | |
  5. +-----------+------+-----+--------+------+ --------+
  6. | Speler 45 | | 2 | | | |
  7. +-----------+------+-----+--------+------+ --------+
  8. | Speler 04 | | | 4 | | |
  9. +-----------+------+-----+--------+------+ --------+
  10. | Speler 291 | | | | | 10,52,81|
  11. +-----------+------+-----+--------+------+ --------+



Ik ben al een maand bezig en ik weet dat het met 'join' zou moeten kunnen maar het lukt mij niet.

wie kan mij hierbij helpen

De detail types zijn
001 Basisplaats
002 Wissel UIT
003 Wissel IN
004 Gele kaart
005 2e gelekaart
006 Rodekaart
007 Doelpunt
008 Tegen doelpunt
009 Eigen doelpunt
010 Strafschop benut
011 Strafschop gemist
012 Strafschop gestopt

2 antwoorden

Gesponsorde links
Offline Thomas - 24/02/2006 16:47
Avatar van Thomas Moderator Wat zou je willen joinen dan? En als je iets met 2 of 3 queries kunt oplossen in plaats van 1, why not? 
Offline markla - 24/02/2006 18:21 (laatste wijziging 24/02/2006 18:35)
Avatar van markla PHP interesse ik heb het met verschillende selctie geprobeerd maar ik kon/kwam er niet uit. op mijn zoek tocht kwam ik dit tegen:

http://dev.mysql.com/doc/refman/4.1/en/join.html

En de posting van Scott Atkins lijkt heel veel op wat ik wil.

wat ik wil is
A) select from details games where game_id = $Game_ID
( dit resultaat heb ik zie boven)

B) Binnen het resultaat wil ik dan alle records "WHERE DetailType_ID IN(001, 003 ,008)"
dat zou ik zo moeten doen
<?
SELECT
d.Game_ID,
d.Player_ID,
d.Detail_Minut,
d.DetailType_ID
FROM details d
where d.Game_ID='0506023' AND DetailType_ID IN(001, 003 ,008)
order by d.DetailType_ID, d.Detail_Minut;
GROUP BY d.Player_ID
ORDER BY d.DetailType_ID, d.Detail_Minut;
?>

C) En dan de resterende records uit het reusltaat van A koppellen aan het Player_ID

En dit stukje krijg ik dus niet voor elkaar.

p.s.
Ben pas een half jaar geleden begonen met PHP dus ik moet nog veel leren
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.183s