Hallo zusammen,
sitze jetzt 4 Stunden mit allen möglichen Kombinationsversuchen an folgendem Problem:
Habe eine mehrdimensionale Gruppentabelle:
![](http://up.stmq.de/files/2.png)
- sub_of = child Gruppe -> eine group_id
- sequence = Reihenfolge innerhalb einer "sub_of" group_id
- group_id = wird Benutzern in Zuordnungstabelle zugeordnet
welche wie folgt aussieht:
![](http://up.stmq.de/files/1.png)
- group_id
- user_id
Was ich will ist eigentlich relativ einfach: ich möchte in einer Abfrage herausfinden, in welchen Gruppen der Nutzer X ist und welche die größte "sequence" der dazugehörigen "sub_of" group_id ist. Ziel ist es, automatisiert einen User ein Semester weiter zu schieben, und sequence einmal hochzuzählen um dann die dazugehörige (neue) group_id abzufragen und in die Zuordnungstabelle zu schreiben.
Meine bisherige Query sieht so aus:
Dummerweise berücksichtigt dies nicht die sequence, die der User per Zurodnungstabelle über die group_id bereits erreicht hat, sondern gibt immer 1 aus.
Falls jemand eine einfachere Lösung parat hat, wäre ich echt super dankbar!
Grüße
Teco
sitze jetzt 4 Stunden mit allen möglichen Kombinationsversuchen an folgendem Problem:
Habe eine mehrdimensionale Gruppentabelle:
![](http://up.stmq.de/files/2.png)
- sub_of = child Gruppe -> eine group_id
- sequence = Reihenfolge innerhalb einer "sub_of" group_id
- group_id = wird Benutzern in Zuordnungstabelle zugeordnet
welche wie folgt aussieht:
![](http://up.stmq.de/files/1.png)
- group_id
- user_id
Was ich will ist eigentlich relativ einfach: ich möchte in einer Abfrage herausfinden, in welchen Gruppen der Nutzer X ist und welche die größte "sequence" der dazugehörigen "sub_of" group_id ist. Ziel ist es, automatisiert einen User ein Semester weiter zu schieben, und sequence einmal hochzuzählen um dann die dazugehörige (neue) group_id abzufragen und in die Zuordnungstabelle zu schreiben.
Meine bisherige Query sieht so aus:
Code:
SELECT sequence AS akt_child, max(pfh_groups.sub_of) AS akt_parent FROM pfh_groups LEFT JOIN pfh_users_to_groups ON pfh_groups.group_id = pfh_users_to_groups.group_id = 45 LEFT JOIN pfh_users ON pfh_users.user_id = pfh_users_to_groups.user_id WHERE sub_of = 45
Falls jemand eine einfachere Lösung parat hat, wäre ich echt super dankbar!
Grüße
Teco
Kommentar