ilch Forum » Allgemein » HTML, PHP, SQL,... » SQL-Abfragen (Gruppen/Teams)

Geschlossen
  1. #1
    User Pic
    Pluisiplui Mitglied
    Registriert seit
    09.03.2011
    Beiträge
    5
    Beitragswertungen
    0 Beitragspunkte
    Hallo Ilch-Community!

    Wie so viele leute hier habe ich direkt nach der Anmeldung eine Frage lächeln

    kurze Einleitung zur Erläuterung:
    (evtl. Werbung ist der Nebeneffekt)

    Wir sind eine Fifa 11 Club Liga, d.h. die Clubs melden sich mitsamt Ihrer Spieler auf der Seite an. Das sind natürlich massig Clubs (Teams), also auch massig Spieler (User).
    Nach einiger Zeit verlieren manche die Lust, ziehen ihren Club zurück und lassen sich nie wieder auf der Seite sehen. Der Club (Team) wird daraufhin gelöscht. Die ganzen Spieler (User) bleiben weiterhin auf der Seite gemeldet.

    Weiterhin kommt es vor das die Spieler öfter den Verein wechseln als Ihre Unterhosen! dadurch passiert es das ein Spieler in 2 Teams oder gar mehr gemeldet ist! Oje Oje!

    Frage 1:
    - Gibt es die möglichkeit im MySQL eine Abfrage zu erstellen die mir alle User wiedergibt die nicht Mitglied in einem Team sind?

    Frage 2:
    - Gibt es die möglichkeit im MySQL eine Abfrage zu erstellen die mir alle User wiedergibt die Mitglied in mehr als einem Team sind?


    Zusatzfrage:

    Der Absolute Oberhammer wäre natürlich folgendes:

    Der User bekommt automatisch von mir (User ID=1) eine PN die wie folgt aussieht:

    -PN Anfang-
    Betreff: Teamzuordnung

    Hallo User XYZ, du bist zur Zeit Mitglied in keinem Team (in den TEAM "ABC, DEF")
    Bitte sende mir eine kurze Rückmeldung für welches Team du spielst, damit wir dich richtig zuordnen können.
    Sollte Ich bis zum 1.4.2011 keine Rückmeldung erhalten wird der Account gelöscht (gesperrt).

    -PN Ende-

    Eine kleine Hilfe wäre echt super, das mit der PN weiß ich nichtmal ob es zu realisieren ist ^^

    Für evtl. andere Problemlösungen bin ich auch offen.

    Wenn jetzt aber jemand kommt und sagt:
    Geh alle per Hand durch, dem sage ich: "Wir haben 345 Benutzer....."

    betroffene Homepage: pcc-liga.de
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    In keinem Team
    SELECT u.* FROM prefix_user u LEFT JOIN prefix_groupusers gu ON u.id = gu.uid WHERE ISNULL(gu.gid);


    In mehr als einem Team
    SELECT u.id, u.name, COUNT(gu.gid) AS teams FROM prefix_user u INNER JOIN prefix_groupusers gu ON u.id = gu.uid GROUP BY u.id, u.name HAVING teams > 1;



    Zuletzt modifiziert von Mairu am 09.03.2011 - 10:10:10
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    2 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    she Mitglied
    Registriert seit
    13.11.2010
    Beiträge
    1.115
    Beitragswertungen
    82 Beitragspunkte
    Also normalerweiße müsste alles funktionieren.

    ZitatZitat
    Frage 1:
    - Gibt es die möglichkeit im MySQL eine Abfrage zu erstellen die mir alle User wiedergibt die nicht Mitglied in einem Team sind?


    SELECT * FROM prefix_user as user
                          LEFT JOIN prefix_groupusers as gusers ON user.id = gusers.uid
                          WHERE gusers.uid = ''


    ZitatZitat
    Frage 2:
    - Gibt es die möglichkeit im MySQL eine Abfrage zu erstellen die mir alle User wiedergibt die Mitglied in mehr als einem Team sind?


    oK Hat ne lösung gefunden....

    ZitatZitat
    Zusatzfrage:

    Der Absolute Oberhammer wäre natürlich folgendes:


    Only PHP


    Zuletzt modifiziert von she am 09.03.2011 - 10:11:19
    Google+ shelfinger.eu
    Das Wissen verfolgt mich - doch ich bin schneller!
    1 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Pluisiplui Mitglied
    Registriert seit
    09.03.2011
    Beiträge
    5
    Beitragswertungen
    0 Beitragspunkte
    Ganz dickes Danke lächeln
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten