创建一个函数/查询,将值与POSTGRESQL中的先前值相匹配

9nvpjoqh  于 2023-05-06  发布在  PostgreSQL
关注(0)|答案(1)|浏览(80)

在我的数据库中,我有一个表,记录了UI中特定字段的所有值。因此,该表包含UI中字段中所有值的历史记录。
例如:

我需要创建一个查询,让我们看到新的值与以前的值。例如:

有没有一种方法可以在PostgreSQL上创建一个查询或函数,谁可以在这里帮助我们?

lmvvr0a8

lmvvr0a81#

SELECT t1.timestamp, t1.field_tag AS new_column,
    CASE 
        WHEN t1.field_tag = t2.field_tag THEN 'No change'
        ELSE 'Change response. New value: ' || t1.field_tag || '. Old value: ' || t2.field_tag
    END AS change_response
FROM your_table t1
LEFT JOIN your_table t2 ON t1.timestamp > t2.timestamp AND t1.field_tag <> t2.field_tag
GROUP BY t1.timestamp, t1.field_tag, t2.field_tag
ORDER BY t1.timestamp DESC;

相关问题