我有四张table: person
以及 booking
,预订详情,房间定价在哪里 person_id
在中用作外键 booking
表和 person_id
在中用作外键 booking_detail
table。房间id用作预订详细信息中的外键
如果我想展示所有 booking_id
从 booking
表及其相应的每次预订的客房总收入,包括“表”中不存在的客房,如 id 1
,我正在使用oracle数据库
人
person_id name
1 xyz
2 abc
3 jkl
预订
booking_id person_id
1 1
2 3
3 1
预订详细信息
person_id roomid
2 201
3 303
3 303
客房价格
room_id price
201 $ 100
302 $ 100
303 $ 200
最后一张table应该是这样的
booking_id total
1 0
2 400$
3 0
2条答案
按热度按时间j13ufse21#
使用以下命令尝试
left join
```select
b.booking_id,
coalesce(sum(total), 0) as total
from booking b
left join booking_details bd
on b.person_id = bd.person_id
left join room_pricing rp
on bd.room_id = rp.room_id
group by
b.booking_id
eyh26e7m2#
你想要一个
left join
加总: