Союз cte и объявить - PullRequest
       2

Союз cte и объявить

0 голосов
/ 11 октября 2019

Как я могу передать объединение обоих этих утверждений

with temp as (
  select distinct max(rundate)as Rundate,max(LoadDate) as Loaddate
  from ods.cfageing_monthend 
  group by month(rundate) & year(rundate)
)
(select * 
 from ods.CFAgeing_MonthEnd 
 where loaddate in (select loaddate from temp) 
   and rundate in (select rundate from temp)
)

declare @maxdate as datetime
set @maxdate=(select max(rundate) from FactCFAgeing)
select * from FactCFAgeing where loaddate=(DATEADD(day,-1,@maxdate))

1 Ответ

0 голосов
/ 11 октября 2019

вы можете использовать cte только один раз, поэтому вы не можете объединить это при следующем выборе.

, если у вас такие же столбцы, как FactCFAgeing и ods.CFAgeing_MonthEnd.

Вы можете использовать этозапрос.

with temp as (
    select distinct max(rundate)as Rundate,max(LoadDate) as Loaddate 
    from ods.cfageing_monthend 
    group by year(rundate), month(rundate)

) select t1.* from ods.CFAgeing_MonthEnd t1
    inner join temp t2 on t2.loaddate = t1.loaddate and t2.rundate = t1.rundate
  union all
  select * from FactCFAgeing 
    where loaddate=(select max(rundate) from FactCFAgeing)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...