Zapytanie o rekordy, których wybrane pola się nie różnią

0

Dzień dobry.

Mam tabelę umowa(id int4, dataOd date, dataDo date, stanowisko text, wynagrodzenie money, idFirmyOd int2, idFirmyU int2, adnotacja text). Chciałbym pobrać te rekordy, których id jest określone (na podstawie pola innej tabeli), a które mają takie same idFirmyOd, oraz takie same idFirmyU. Dla tych rekordów chciałbym ustalić MIN(dataOd) oraz MAX(dataDo)

Innymi słowy, chciałbym ustalić początkową i końcową datę pracy pracownika w danej firmie, zatrudniany przez daną, inną firmę. Np.:

+----------+----------+----------+----------+----------+
|   id     | dataOd   | dataDo   | firmaOd  | firmaU   |
+----------+----------+----------+----------+----------+
|    1     |2000-1-1  |2000-10-31|     1    |     2    |
|    1     |2000-12-1 |2000-12-31|    1     |    2     |
|    1     |2001-1-1  |2001-12-31|    2     |    3     |
+----------+----------+----------+----------+----------+

Czyli, chciałbym, aby dla takiej tabeli, zwróciło:

+----------+----------+----------+----------+----------+
|   id     | dataOd   | dataDo   | firmaOd  | firmaU   |
+----------+----------+----------+----------+----------+
|    1     |2000-1-1  |2000-12-31|     1    |     2    |
+----------+----------+----------+----------+----------+

Dla frimyOd = 1 i firmyU = 2 i id = 1

1

SELECT id, MIN(dataOd), MAX(dataDo), firmaOd, firmaU
FROM umowa
GROUP BY id, firmaOd, firmaU

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0