Ik ben sinds kort begonnen aan PHP MySQL en met queries nog zoekende.
Ik ben bezig met de ledenadministratie van onze judovereniging. In de tabel leden zit een veld (Gcode genaamd) dat voor de verbinding zorgt met de tabel graduatie. Elk lid heeft een graduatie dat zich laat vertalen in een getal in de kolom Gcode. 2 x per jaar worden examens afgenomen, waarbij leden in eerste instantie een "vaste" sprong maken naar de volgende graduatie (GCwordt). De sprong die gemaakt kan worden is ook opgenomen in de tabel graduatie.
Ik wil nu graag in een select statement de nieuwe sprong opzoeken en weergeven als NwGcode. Ik zit zelf te denken in de richting van:
geef GCwordt waar Gcode van lid gelijk is aan Gcode uit tabel graduatie als NwGcode.
Wie weet het juiste antwoord? Alvast bedankt voor het meedenken!
SELECT GCwordt AS nieuwe_code FROM leden WHERE
leden.Gcode=graduatie.Gcode
Ik heb trouwens de indruk dat jouw datamodel niet juist is. Geef eens een beschrijving van je tabellen want dat zal je eerst goed moeten krijgen en gezien het feit dat Gcode in meerdere tabellen voorkomt ruik ik gegevens redunantie.
Een database is namelijk heel wat anders dan bijv een spreadsheet
Dank voor je antwoord! Ik zit nu op mijn werk en ga vanavond je oplossing uitproberen.
De ledenadministratie zit op dit moment in een Access database waar ik alleen bij kan. Ik probeer e.e.a. om te bouwen naar PHP MySQL zodat meerdere leden hier aan kunnen werken cq raadplegen, waarbij tevens het doel voor mij er e.e.a. van te leren.
De graduatietabel is een opzoektabel voor de tabel leden. In de tabel leden is Gcode de foreign key van tabel graduatie. Tabel graduatie heeft de volgende velden:
Gcode (primary key)
Graduatie
GCwordt
Verder heb ik de volgende tabellen:
Tussentabel_locatie (1 lid kan op meerdere locaties trainen)
Trainingslocatie (de voorkomende trainingslocaties)
Tussentabel_typelid (1 lid kan meerdere typen hebben)
Typelid (de voorkomende typen [bijv. recreant, wedstrijdselectie, etc.)
Ik denk niet dat redunantie voorkomt. Kan me vergissen natuurlijk!
Ok als ik zo snel even kijk lijkt het me inderdaad geen rare database. Wat ik je nog wel zou willen aanraden is, leer de microsoft stijl af en gebruik alleen kleine letters voor vars. Dus een sql wordy
SELECT blaat
FROM jouwtabel
WHERE id IS NOT NULL
AND blaat LIKE '%blaat%'
Dus de keywords in HOOFDLETTERS de rest in kleine letters. Php draait namelijk vaak op linux en linux is hoofdlettergevoelig. Maak het jezelf dus makkelijk en gerbuik alleen kleine letters
Fijn dat je even meegekeken hebt en dank voor je aanwijzigingen Ik zal er rekening mee houden. Doordat ik de tabellen vanuit Access in MySQL heb kunnen importeren, kwam ik vanzelf tegen dat de tabelnamen al in kleine letters waren. Wat rest is het volgen van een goede voorbeelden.