我正在通过执行一些多个联接来获取记录。我需要在 OR 条件下再添加一个。
有一张桌子Payment
。从Payment
必须加入:
- 表 Package1(如果 Payment.PaymentTypeID=1)或
- 表 Package2(如果 Payment.PaymentTypeID=3)。
表 Package1 和 Package2 都有一列 VoucherID,必须根据上述条件获取。我可以通过以下查询使用 Union 或 Union All 来做到这一点,但请告诉我是否可以在不使用 UNion 或 Union All 的情况下做到这一点。
select P1.VoucherID from Payment P
inner join Package1 P1 on P1.empid=P.empid and P.PaymentTypeID=1
union all
select P2.VoucherID from Payment P
inner join Package1 P2 on P2.empid=P.empid and P.PaymentTypeID=3