Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Theoretische Frage zu einer Abfrage mit Union?!

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von DreadnoxXx, 22 Juni 2013.

  1. DreadnoxXx

    DreadnoxXx Neuer Benutzer

    Hallo an alle und gleich zu meiner Frage...:)
    Ich soll Supervisors anzeigen lassen die weniger als zwei Untergebene haben?
    Ich sollte jetzt hier zudem noch einen outer Join hinein basteln, was an sich ja kein Problem ist, mich würde allerdings davor interessieren, warum das ganze nicht so funktioniert?

    -- liefert 3 Supervisor mit 1 Untergebenen (Staff Testdaten)

    SELECT EmpID, name, gender, salary, positionFROM StaffWHERE EmpID IN (SELECT supervisorFK FROM Staff
    GROUP BY supervisorFK
    HAVING Count(*)< 2)AND position ='Supervisor'

    UNION

    SELECT EmpID, name, gender, salary, positionFROM StaffWHERE EmpID NOT IN (SELECT DISTINCT supervisorFK FROM Staff )AND position ='Supervisor';


    Leider funktioniert das so nicht. Kann mir jemand helfen?
    Wäre super wenn mir jemand auf die Sprünge helfen könnte, falls jemand noch Rohdaten braucht die könnte ich auch zur Verfügung stellen.
     
  2. akretschmer

    akretschmer Datenbank-Guru

    'Funktioniert leider nicht' ist nicht wirklich eindeutig. Wirf das mal bei Google ein und Du wirst verstehen.

    zeig einfach mal ein kleines Beispiel mit auf das nötigste reduzierten Tabellen und Werten. Dir ist bekannt, daß UNION doppelte Datensätze ausfiltert?
     
  3. ukulele

    ukulele Datenbank-Guru

    In SQL Studio gibts normalerweise konkrete Fehlermeldungen, ich würde hier einfach mal tippen das er kein GROUP BY und UNION gleichzeitig macht, aber das ist jetzt nur geraten.
     
  4. akretschmer

    akretschmer Datenbank-Guru

    Glaube ich eher nicht, daß das nicht geht:

    Code:
    test=# select s, 'test' from generate_Series(1,5) s group by s union select 2, 'bla';
     s | ?column?
    ---+----------
     3 | test
     4 | test
     1 | test
     2 | test
     5 | test
     2 | bla
    (6 rows)
    
    Andreas
     
  5. ukulele

    ukulele Datenbank-Guru

    Stimmt aber je nachdem wie der Fragensteller "funktioniert nicht" definiert erfüllt es vieleicht nicht seine Erwartungen weil er das GROUP BY nur in einem Select hat. Wir stochern nur...
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden