Re: Change detection
| От | Shaozhong SHI |
|---|---|
| Тема | Re: Change detection |
| Дата | |
| Msg-id | CA+i5Jwbi6GVDT5d_HUTpQ+RMupjCm4hR4RkojLVgZPdv96LsmQ@mail.gmail.com обсуждение исходный текст |
| Ответ на | Re: Change detection (Marcos Pegoraro <marcos@f10.com.br>) |
| Ответы |
Re: Change detection
|
| Список | pgsql-sql |
How about finding all changes for all people in a large record set?
See the follwoing:
David
1 Tom Sales 1990
2 Tom Sales 1991
3 Tom Sales 1991
4 Tom Management 1992
5 Tom Management 1992
6 Tim finance 1982
7 Tim finance 1983
8 Tim management 1984
9 Tim management 1985
On Fri, 9 Dec 2022 at 13:06, Marcos Pegoraro <marcos@f10.com.br> wrote:
DataStaff_ID Name Department Year1 Tom Sales 19902 Tom Sales 19913 Tom Sales 19914 Tom Management 19924 Tom Management 1992select *, coalesce(lag(department) over(order by year), department) <> department Changed from (Values (1, 'Tom', 'Sales', 1990),(2, 'Tom', 'Sales', 1991),(3, 'Tom', 'Sales', 1991),(4, 'Tom', 'Management', 1992),(4, 'Tom', 'Management', 1992)) as x(Staff_ID, Name, Department, Year);staff_id | name | department | year | changed
----------+------+------------+------+---------
1 | Tom | Sales | 1990 | f
2 | Tom | Sales | 1991 | f
3 | Tom | Sales | 1991 | f
4 | Tom | Management | 1992 | t
4 | Tom | Management | 1992 | f
(5 rows)
В списке pgsql-sql по дате отправления: