我需要加入 5 个表才能获得特定的账单号。
表是
- 账单,
- 服务账单
- 伤害成本
- Extraperson_cost
- Advance_cost
除了bill
,所有其他表都可以存储空值。
我的查询如下...
select bill.bill_no,
bill.total,
bill.discount,
bill.to_be_paid,
isnull(Service_bill.total_amt,0) as ServiceCharge,
isnull(Damage_cost.total_amt,0) as DamageCost,
isnull(Extraperson_cost.total_amt,0) as ExtraCost,
isnull(Advance_cost.total_amount,0) as Advance
from bill
left join Advance_cost on bill.bill_no=Advance_cost.room_bill_no and bill.bill_no='57'
inner join Service_bill on bill.bill_no=Service_bill.room_bill_no
inner join Damage_cost on bill.bill_no=Damage_cost.room_bill_no
inner join Extraperson_cost on bill.bill_no=Extraperson_cost.room_bill_no
现在它返回数据,连接条件为真。
第一个表应该有值,然后其他表null
才有,所以它必须完全返回第一个表。但我不知道为什么会这样!