Ergebnis 1 bis 6 von 6

Thema: ein kleines SQL Problem

  1. #1
    butters ist offline Neuer Benutzer
    Registriert seit
    04.11.2009
    Beiträge
    3

    Standard ein kleines SQL Problem

    Hallo zusammen,
    um es vorrauszuschicken, ich bin ganz neu auf dem Board und habe eher
    den Eindruck, daß es nicht für Anfänger gedacht ist. Sollte mein Problem
    also eher nicht hier reinpassen, dann entschuldige ich mich dafür und such
    woanders. Aber ich hab da ein "kleines" Syntaxproblem, daß mich kirre macht,
    also versuch ich es mal hier...:-)

    ich habe eine Tabelle die Mitarbeiter verwaltet(typische Übungsaufgabe)...
    in dieser Tabelle gibt es unter anderem die Spalte "Job" und "Raum".
    Jetzt ist meine Aufgabe alle Räume auszugeben, die alle Jobs beinhalten
    welche in Raum 20 auch enthalten sind. Es ist natürlich kein Problem mir diese (select job from mitarbeiter where raum = 20...)
    anzuzeigen. Wenn ich also in Raum 20 den Verkäufer, den Sekretär und den Hausmeister habe, suche ich alle Räume in denen auch Verkäufer Sekretäre
    und Hausmeister sitzen. Anzahl ist ja egal.
    Ich verzweifle an dieser Aufgabe. Hab schon überlegt mit count(*) zu arbeiten aber das ist ja eigentlich nicht wichtig wieviele da sind sondern nur vom gleichen Typ Job
    Muss ich mit Group By arbeiten
    Hat irgendjemand ne Idee?
    Wäre toll wenn jemand einen Tipp hätte
    Danke schomal

  2. #2
    Gibheer ist offline Benutzer
    Registriert seit
    23.06.2008
    Beiträge
    51

    Standard

    Du suchst wahrscheinlich nach joins.

  3. #3
    butters ist offline Neuer Benutzer
    Registriert seit
    04.11.2009
    Beiträge
    3

    Standard

    Das habe ich auch schon überlegt, aber joins beziehen sich doch immer
    auf verschiedene Tabellen, oder?
    in meinem Fall habe ich aber nur ein Tabelle

  4. #4
    Gibheer ist offline Benutzer
    Registriert seit
    23.06.2008
    Beiträge
    51

    Standard

    joins sind nicht auf verschiedene Tabellen beschraenkt. Es reicht auch eine.

    Code:
    create table test(parent integer, child integer);
    insert into test(null, 1);
    insert into test(1, 2);
    insert into test(1, 3);
    insert into test(2, 4);
    insert into test(4, 5);
    
    select * from test a join test b where a.child = b.parent;

  5. #5
    butters ist offline Neuer Benutzer
    Registriert seit
    04.11.2009
    Beiträge
    3

    Standard

    Erstmal schonmal danke für die schnelle Hilfe
    Wäre folgendes Prinzip dann richtig?

    select raum
    from mitarbeiter mit1 join mitarbeiter mit2
    where mit1.job = all(select job from mit2 where raum = 20)
    ;

    oder ganz falsche Rihtung?

  6. #6
    Gibheer ist offline Benutzer
    Registriert seit
    23.06.2008
    Beiträge
    51

    Standard

    Probier es doch einfach mal aus.

    Und mit der HIlfe der Dokumentation kommst du bestimmt auch selber drauf

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum