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

Verständnisfrage bedingter Ausdruck

Dieses Thema im Forum "PostgreSQL" wurde erstellt von tdbmotor, 30 Dezember 2013.

  1. tdbmotor

    tdbmotor Neuer Benutzer

    Hi,

    hab ne Tabelle die z.B. folgendermaßen ausschaut:

    Mitarbeiter Projekt Arbeitszeit
    1 --------------- 1 --------------- 5
    1 --------------- 2 --------------- 4
    2 --------------- 1 --------------- 3
    3 --------------- 1 --------------- 5

    Ich möchte nun bei meinem SELECT STATEMENT für jeden Mitarbeiter,
    • wenn er an beiden Projekten gearbeitet hat (beispiel oben mitarbeiter=1), nur die Zeile mit Projekt=2 verwenden
    • wenn ein Mitarbeiter jedoch keine Zeile mit Projekt=2 besitzt, soll die Zeile mit Projekt=1 verwendet werden.
    Die Ausgabe sollte also so sein:
    Mitarbeiter Projekt Arbeitszeit
    1 --------------- 2 --------------- 4
    2 --------------- 1 --------------- 3
    3 --------------- 1 --------------- 5

    Denke doch, das lässt sich mit bedingten Ausdrücken lösen, bin darin jedoch nicht so fit...

    Hier mal mein Anfang:

    SELECT mitarbeiter,projekt,arbeitszeit FROM test_projekte

    Gruß und vielen Dank
    tdb
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Ich bin mir nicht sicher über Deine Regel, welches Projekt genommen werden soll, Wenn mein Vermutung stimmt und je Mitarbeiter das Projekt mit der höchsten Nummer, dann so:

    Code:
    test=*# select * from tdbmotor ;
     mitarbeiter | projekt | arbeitszeit
    -------------+---------+-------------
      1 |  2 |  4
      2 |  1 |  3
      3 |  1 |  5
      1 |  1 |  5
    (4 rows)
    
    Time: 0,152 ms
    test=*# select distinct on (mitarbeiter) mitarbeiter, projekt, arbeitszeit from tdbmotor order by mitarbeiter, projekt desc;
     mitarbeiter | projekt | arbeitszeit
    -------------+---------+-------------
      1 |  2 |  4
      2 |  1 |  3
      3 |  1 |  5
    (3 rows)
    
     
  3. akretschmer

    akretschmer Datenbank-Guru

    Wie ist eigentlich der Stand, Problem gelöst?
     
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