Hallo zusammen,
mein erster post in diesem Forum, vielleicht nur ganz kurz zu mir: PHP und MYSQL sind für mich ein Hobby. Klingt komisch, ist aber so Ich bastle an einer seite zur Vortrags-planung/verwaltung in einem Verein. Alles funktioniert, nur will ich ein paar queries verbessern.
Ich habe eine Tabelle, in der für 4 Personen eingetragen ist, in welchem Monat sie in welchem Verein einen Vortrag gehalten haben. Maximal wird pro Person ein Vortrag im Monat geplant, an manchen Monaten hat eine Person vielleicht aber auch keinen Vortrag. Bisher haeb ich über PHP die query 4 mal angestossen und jeweils pro Person abgefragt. Bekomme ich sowas auch in einer einzelnen Query hin? Das würde auch einiges an code und loops im PHP sparen.
soweit bin ich im moment mit der neuen Query:
SELECT * FROM
( SELECT external_plan.Talkdate, external_plan.person_ID, congregation_has_person.Congregation_ID from `external_plan`
LEFT JOIN congregation_has_person ON congregation_has_person.Person_ID = external_plan.Person_ID
WHERE YEAR(talkDate) = 2013
AND congregation_has_person.Congregation_ID = 1
ORDER BY MONTH(external_plan.Talkdate), external_plan.Person_ID
) ep
RIGHT JOIN monthnumbers ON MONTH(ep.TalkDate) = monthnumbers.months
mit dem RIGHT JOIN will ich erreichen (tabelle monthnumbers enthalt nur die monate 1 - 12 als nummern zum vergleich), dass mir auch die monate angezeigt werden, in denen für eine person kein Vortrag geplant ist. Wo ich festsitze ist jetzt, dass die Query PRO MONAT für alle 4 Personen auf einmal die 12 Monate anzeigt, ich bräuchte aber eine Anzeige PRO MONAT UND PRO PERSON.
Wie gesagt, ist nur ein hobby, also nix dringendes ( DROP TABLE vorschläge sind trotzdem unerwünscht LOL )
Grüße
Helmut
mein erster post in diesem Forum, vielleicht nur ganz kurz zu mir: PHP und MYSQL sind für mich ein Hobby. Klingt komisch, ist aber so Ich bastle an einer seite zur Vortrags-planung/verwaltung in einem Verein. Alles funktioniert, nur will ich ein paar queries verbessern.
Ich habe eine Tabelle, in der für 4 Personen eingetragen ist, in welchem Monat sie in welchem Verein einen Vortrag gehalten haben. Maximal wird pro Person ein Vortrag im Monat geplant, an manchen Monaten hat eine Person vielleicht aber auch keinen Vortrag. Bisher haeb ich über PHP die query 4 mal angestossen und jeweils pro Person abgefragt. Bekomme ich sowas auch in einer einzelnen Query hin? Das würde auch einiges an code und loops im PHP sparen.
soweit bin ich im moment mit der neuen Query:
SELECT * FROM
( SELECT external_plan.Talkdate, external_plan.person_ID, congregation_has_person.Congregation_ID from `external_plan`
LEFT JOIN congregation_has_person ON congregation_has_person.Person_ID = external_plan.Person_ID
WHERE YEAR(talkDate) = 2013
AND congregation_has_person.Congregation_ID = 1
ORDER BY MONTH(external_plan.Talkdate), external_plan.Person_ID
) ep
RIGHT JOIN monthnumbers ON MONTH(ep.TalkDate) = monthnumbers.months
mit dem RIGHT JOIN will ich erreichen (tabelle monthnumbers enthalt nur die monate 1 - 12 als nummern zum vergleich), dass mir auch die monate angezeigt werden, in denen für eine person kein Vortrag geplant ist. Wo ich festsitze ist jetzt, dass die Query PRO MONAT für alle 4 Personen auf einmal die 12 Monate anzeigt, ich bräuchte aber eine Anzeige PRO MONAT UND PRO PERSON.
Wie gesagt, ist nur ein hobby, also nix dringendes ( DROP TABLE vorschläge sind trotzdem unerwünscht LOL )
Grüße
Helmut