【发布时间】:2020-05-05 12:55:29
【问题描述】:
我有两张桌子
表客户
- customer_shortcut (char)
表客户数据
- customerID(客户的外键)
- customer_valid(备案有效日期)
- 客户名称(字符)
表 CustomerData 可以有多个客户记录,但有效日期不同,例如
01.01.2019
01.01.2020
01.01.2021
我设法使用查询获取每个客户的最后一条记录:
SELECT Customer.*
FROM Customer
FULL JOIN CustomerData ON (Customer.id = CustomerData."customerID_id")
FULL JOIN CustomerData CustomerData2 ON (Customer.id = CustomerData2."customerID_id"
AND (CustomerData.customer_valid < CustomerData2.customer_valid
OR CustomerData.customer_valid = CustomerData2.customer_valid
AND CustomerData.id < CustomerData2.id)
)
WHERE CustomerData2.id IS NULL
我现在如何获取当前有效记录(在我的示例中为 customer_valid 01.01.2020 的记录)?
我尝试在查询中几乎每个位置添加“AND customer_valid
【问题讨论】:
标签: sql postgresql