У меня есть несколько SQL запросов с различными, где положения:Несколько SQL запросов с различными, где положения
select * from (
SELECT ov.state_nm, ov.state_id,us.client_id, us.rebate_qtr_id,
sum(cvr.rebate_per_claim) as flagged
FROM [dOVT_OutlierView].[APP01DBA].[OVT_USER_STATE_ASSIGNMENT] us
inner join ovt_states ov on us.state_id=ov.state_id
inner join OVT_LABELER_CLIENT_STATE_SETTINGS css
on css.client_id=us.client_id and us.state_id=css.state_id
inner join [APP01DBA].[OVT_CLAIM_VALIDATION_ALL_RESULT] cvr
on us.client_id= cvr.client_id
and css.client_id=cvr.client_id
inner join [APP01DBA].[OVT_CLAIM_VALIDATION_ALL_RESULT_USER_DECISION] udes
on udes.client_id=cvr.client_id
and udes.client_id=css.client_id and us.client_id=udes.client_id
where us.assigned_to_user_id=81 and us.company_id=50 and us.client_id=23
group by ov.state_id, us.client_id,ov.state_nm,us.rebate_qtr_id) a
cross join (
SELECT
sum(cvr.rebate_per_claim) as follwup
FROM [dOVT_OutlierView].[APP01DBA].[OVT_USER_STATE_ASSIGNMENT] us
inner join ovt_states ov on us.state_id=ov.state_id
inner join OVT_LABELER_CLIENT_STATE_SETTINGS css
on css.client_id=us.client_id and us.state_id=css.state_id
inner join [APP01DBA].[OVT_CLAIM_VALIDATION_ALL_RESULT] cvr
on us.client_id= cvr.client_id
and css.client_id=cvr.client_id
inner join [APP01DBA].[OVT_CLAIM_VALIDATION_ALL_RESULT_USER_DECISION] udes
on udes.client_id=cvr.client_id
and udes.client_id=css.client_id and us.client_id=udes.client_id
where us.assigned_to_user_id=81 and us.company_id=50 and us.client_id=23
and udes.followup_dispute_ignore_flg='F'
group by ov.state_id, us.client_id,ov.state_nm,us.rebate_qtr_id) b
Эти два запросов на выборку в скобках те же, только где положение добавляется во втором запросе. Только для слияния, я добавил кросс-соединение для обоих запросов.
Есть ли другой способ сделать это без повторения запросов еще раз?
выражение общей таблицы (КТР) возможно. – jarlh
@jarlh не могли бы вы предоставить пример – SivaRajini
использовать UNION вместо перекрестного соединения –