Announcement

Collapse
No announcement yet.

SQL Anfrage

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SQL Anfrage

    Hallo


    Ich habe eine SQL Datenbank mit drei Tabellen, die alle Informationen speichern.

    Hier ist ein einfaches Beispiel:

    Tabelle Nr 1 ("aufgaben") speichert eine Infos zur Aufgaben. Diese Tabelle hat den Namen "aufgaben" und hat folgende Spalten:
    Aufgabenname (String), Aufgabenkosten (Integer), Aufgabenleiter (Integer), Assistent (Integer), Abgabedatum (Date)

    Tabelle Nr 2 ("personal") speichert alle Arbeiter, egal ob Aufgabenleiter oder Assistent mit der PersNr als Schlüssel. Die Spalten Aufgabenleiter und Assistent aus Tabelle 1 verweisen auf den Schlüssel (PerNr) der zweiten Tabelle. Diese Tabelle hat den Namen "personal" und hat folgende Spalten:
    PersNr (Integer), Vorname (String), Nachname (String), Arbeitsraum (Integer), Adresse (String)

    Tabelle Nr 3 ("raum") speichert die Daten, wo sich welcher Arbeitsraum aus Tabelle 2 befindet. Die Spalte Arbeitsraum aus Tabelle 2 verweist auf den Schlüssel (RaumNr) der dritten Tabelle. Diese Tabelle hat den Namen "raum", den Schlüssel RaumNr und hat folgende Spalten:
    RaumNr (Integer), Gebaeude(Integeer), Stockwerk(Integer), Personenanzahl(Integer)

    Wie muss eine SQL Befehl lauten, damit man eine Tabelle mit folgenden Spalten bekommt:
    Aufgabenname, Aufgabenkosten, Vorname_Aufgabenleiter, Nachname_Aufgabenleiter, Gebauedte_Aufgabenleiter, Stockwerk_Aufgabenleiter, Vorname_Assistent, Nachname_Assistent, Gebauedte_Assistent, Stockwerk_Assistent, Abgabedatum

    Mir ist schon klar, dass diese Anfrage nicht leicht ist, wenn sie aber leicht wäre, dann würd eich euch nicht um Hilft fragen.

    Danke

  • #2
    lich ist das gar nicht so schwer:

    [highlight="sql"]
    select
    a.aufgabename, a.aufgabenkosten,
    p1.nachname, p1.vorname,
    r1.gebaeude, r1.stockwerk,
    p2.nachname, p2.vorname,
    r2.gebaeude, r2.stockwerk,
    a.abgabedatum
    from
    aufgaben a
    join personal p1 on p1.persnr = a. aufgabenleiter
    join raum r1 on r1.raumnr = p1.gebaeude
    join personal p2 on p2.persnr = a. assistent
    join raum r2 on r2.raumnr = p2.gebaeude;
    [/highlight]

    Comment

    Working...
    X