SQL Abfrage, JOIN-Problem

Dieses Thema: "SQL Abfrage, JOIN-Problem" im Forum "SQL und Datenbanken" wurde erstellt von tr0nix, 10.08.2007.

  1. tr0nix

    tr0nix der-mit-dem-tux-tanzt

    Dabei seit:
    11.07.2003
    Beiträge:
    1.585
    Zustimmungen:
    0
    Ort:
    Schweiz, Opfikon/Glattbrugg
    Hallo zusammen

    Ich bin am tüfteln einer Userverwaltung (siehe Bildattachment). Jetzt möchte ich ein Statement absetzen können, welches mir den User, dessen Primäre Gruppe und die Sekondäre Gruppe anzeigt - am liebsten natürlich mit deren Namen. Aktuell kriege ich es nur hin, dass mir die sekondären Gruppen als Nummern angezeigt werden. Ist es möglich, dies auch noch aufzulösen?

    Ich weiss ich könnte theoretisch auch über die usergroups Tabelle mit einem weiteren Attribut regeln, ob die Gruppe primär oder sekondär ist, aber mir gefällts so irgendwie besser (gibt dafür wohl auch mehr Probleme).

    Das habe ich bisher:
    Code:
    select `user_name` as `users`, `grou_name` as `primary`, `ref_group_gid` as `secondary` from `user` 
    left join `group` on `user`.`user_gid` = `group`.`grou_gid` 
    left join `usergroups` on `user`.`user_uid` = `usergroups`.`ref_user_uid`;
    Gibt folgendes aus:
     

    Anhänge:

  2. Anzeige

    Schau dir mal diesen Ratgeber an. Viele Antworten inkl. passender Shell-Befehle!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 floyd62, 12.08.2007
    floyd62

    floyd62 Routinier

    Dabei seit:
    01.05.2007
    Beiträge:
    309
    Zustimmungen:
    0
    Hi tr0nix,

    denke man sollte das mit einem zusätzlichen Join etwa so lösen können:

    Code:
    select distinct user.user_name "users", g1.group_name "primary", g2.group_name "secondary"
    from user
    left join `group` g1 on (user.user_gid = g1.group_gid)
    left join `usergroups` on (user.user_uid = usergroups.ref_user_uid)
    left join `group` g2 on (usergroups.ref_group_gid = g2.group_gid)
    ;
    
    Das Ganze natürlich ungetestet und ohne Garantie ... :D

    Grüße
     
  4. tr0nix

    tr0nix der-mit-dem-tux-tanzt

    Dabei seit:
    11.07.2003
    Beiträge:
    1.585
    Zustimmungen:
    0
    Ort:
    Schweiz, Opfikon/Glattbrugg
    Cool danke, ich probiers morgen gleich mal aus :).
     
  5. tr0nix

    tr0nix der-mit-dem-tux-tanzt

    Dabei seit:
    11.07.2003
    Beiträge:
    1.585
    Zustimmungen:
    0
    Ort:
    Schweiz, Opfikon/Glattbrugg
    Chapeau! Hat geklappt!

    Danke vielmals! Jetzt nur noch das SQL fertig verstehen :).
     
  6. #5 saeckereier, 16.08.2007
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Falls ernst gemeint, g1 und g2 wirken in dem Statement als wären sie zwei getrennte Tabellen in der DB die zufällig den gleichen Inhalt haben. Deshalb kannst du g1 mit der prim. ID und g2 mit der sek. ID verknüpfen. Sollte man sich merken, eines der Standardrezepte in SQL.
     
  7. tr0nix

    tr0nix der-mit-dem-tux-tanzt

    Dabei seit:
    11.07.2003
    Beiträge:
    1.585
    Zustimmungen:
    0
    Ort:
    Schweiz, Opfikon/Glattbrugg
    Prima danke! Ich hab bisher nur mit lowlevel SQL rumgepanscht auf der DB.. hat immer ausgereicht. Aber wollts mal "richtig" gelernt haben.
     
Thema:

SQL Abfrage, JOIN-Problem

Die Seite wird geladen...

SQL Abfrage, JOIN-Problem - Ähnliche Themen

  1. mysql Select Abfrageergebnis in unterschiedlichen Variablen sichern

    mysql Select Abfrageergebnis in unterschiedlichen Variablen sichern: Hallo zusammen, es geht um folgenden Teil meiner .sh-Datei: NumberCheck=`mysql $SQL_ARGS "SELECT lkw, Firma FROM adb_group WHERE...
  2. [Anfänger am Werk] if abfrage machen

    [Anfänger am Werk] if abfrage machen: Hey, Ich würde gerne eine Shell Schreiben, die wenn eine Variable höher als x ist, einen Befehl ausführt. Da ich aber totaler Anfänger bin, habe...
  3. MySQL DB im remote abfrage

    MySQL DB im remote abfrage: Moin, zur Zeit befinde ich mich in der Planungsphase für eine Smartphone Application die Anfragen an eine DB stellen soll. Allerdings ist das...
  4. WLAN-Passwort-Abfrage abschalten funktioniert nur bedingt

    WLAN-Passwort-Abfrage abschalten funktioniert nur bedingt: Hallo, immer wenn ich mich ins Uni-WLAN einwählen will, macht Ubuntu Gnome das nicht automatisch, sondern zeigt ein Fenster mit dem Login und...
  5. Vorschau von MySQL 5.7 mit höherer Abfragegeschwindigkeit

    Vorschau von MySQL 5.7 mit höherer Abfragegeschwindigkeit: Oracle hat eine Testversion von MySQL 5.7 bereitgestellt. Das populäre freie Datenbanksystem erhielt in dieser Version einige Verbesserungen in...