【发布时间】:2013-09-01 14:02:00
【问题描述】:
我使用 UNION ALL 加入了 4 条 sql 语句。
由于WHERE条件相同,是否可以将WHERE条件合二为一?
select 'Transfer In' as MovementType, * from vHRIS_StaffMovement_TransferIn
where cur_deptid in (1,2,3,4,5)
and cast(EffectiveDate as date) <='2013-08-02'
and cast(EffectiveDate as date) >= '2012-08-01'
and StaffType in (1,2,3,4,5)
union all
select 'Terminate' as MovementTyep, * from vHRIS_StaffMovement_Terminate
where cur_deptid in (1,2,3,4,5)
and cast(EffectiveDate as date) <='2013-08-02'
and cast(EffectiveDate as date) >= '2012-08-01'
and StaffType in (1,2,3,4,5)
union all
select 'New Hire' as MovementTyep, * from vHRIS_StaffMovement_NewHire
where cur_deptid in (1,2,3,4,5)
and cast(EffectiveDate as date) <='2013-08-02'
and cast(EffectiveDate as date) >= '2012-08-01'
and StaffType in (1,2,3,4,5)
union all
select 'Transfer Out' as MovementType, * from vHRIS_StaffMovement_TransferOut
where cur_deptid in (1,2,3,4,5)
and cast(EffectiveDate as date) <='2013-08-02'
and cast(EffectiveDate as date) >= '2012-08-01'
and StaffType in (1,2,3,4,5)
【问题讨论】:
标签: sql union where-clause union-all