我在Oracle DB中有三个表
House (
id
)
Person (
id,
house_id
)
Bill (
id,
date,
amount,
person_id
)
我需要获得名单,如果有人的身份证和金额从最后一个法案如果存在的房子id。最后一个法案是最古老的日期字段的法案。
我可以通过个人id通过以下方式获取:
SELECT
p.id,
b.amount
FROM Person p
LEFT JOIN
(SELECT amount FROM Bill WHERE date =
(SELECT MAX(date) FROM Bill b1 WHERE person_id = 1)
) b ON b.person_id = p.id
WHERE p.id = 1;
我可以按众议院id获得个人id清单和最新账单金额吗?
样本数据:
House(id:1)
House(id:2)
Person(id:1, house_id:1)
Person(id:2, house_id:1)
Person(id:3, house_id:2)
Bill(id:1, date:01-11-2011, amount:100, person_id:1)
Bill(id:2, date:01-11-2012, amount:200, person_id:1)
Bill(id:3, date:01-11-2011, amount:90, person_id:2)
Bill(id:4, date:01-11-2012, amount:10, person_id:2)
Bill(id:5, date:01-11-2011, amount:190, person_id:3)
按房屋id选择的结果=1:
person_id:1, amount:200
person_id:2, amount:10