Beiträge von Raytheon

    Hallo,
    darf ich dich noch was fragen? Ich brauch wieder einen Denkanstoß!

    Aufgabe:
    Alle Mitarbeiter eines Unternehmens haben einen Test (Benotung: 1-5) durchführen müssen. Gib die Abteilungen mit den entsprechenden Notendurchschnitt aus!

    Hier mein Versuch:
    SELECT DISTINCT(Abteilungen.A_ID) AS Abteilungen, AVG(Tests.T_NOTE) as Durchschnitt
    FROM Mitarbeiter left join Tests
    ON M_NR = Testkandidat_nr,
    Mitarbeiter m right join Abteilungen a
    on m.M_Abteilung = a.A_ID, Abteilungen
    Group by Abteilungen.A_ID
    Having AVG(Tests.T_NOTE) = (SELECT AVG(Tests.T_NOTE) FROM Mitarbeiter left join Tests
    ON M_NR = Testkandidat_nr group by Mitarbeiter.M_Abteilung);

    Ohne der Having Bedingung, bekomme ich bei den 3 Abteilungen den selben Durchschnittswert angezeigt.

    Danke

    Ok, danke für die Erklärung.

    Als Having Bedinung hätte ich jetzt dann folgendes genommen:
    Having count(to_char(M_GEBDAT, 'DAY')) >= ALL (SELECT count(to_char(M_GEBDAT,'DAY')) FROM Mitarbeiter);

    funktioniert aber leider nicht (keine Ausgabe). Irgendwo ist noch der Knoten drinnen...

    Hallo,

    folgende Aufgabenstellung in SQL (Oracle):
    An welchen Wochentagen wurden die meisten Mitarbeiter geboren?
    Ausgegeben sollen folgende Spalten werden: der Wochentag und die Anzahl der Geburten!

    Den SQL Code haben ich schon, nur fehlt mir die entsprechene Having Bedingung:
    SELECT to_char(M_GEBDAT, 'DAY'), count(to_char(M_GEBDAT, 'DAY')) AS Anzahl
    FROM Mitarbeiter
    group by to_char(M_GEBDAT, 'DAY');

    Die Abfrage gibt mir jetzt die Anzahl der Geburten pro Wochentag aus (alle). Aber ich benötige nur die Zeile mit den meisten Geburten(Anzahl) und den Wochentag.

    mein Vorschlag für die Having Bedinung wäre:
    Having to_char(M_GEBDAT, 'DAY') = max(to_char(M_GEBDAT, 'DAY'))

    Bei mir ist hier leider noch der Knoten drinnen...

    Danke schon mal!

    BG
    Ray