0

私はこれを行うことができます:

With ZipCodeCTE as
            {
            select nvl(HH.GeoUSZip5 , **ZipCodeKeyLookUp**(HH.[CityName],HH.[StateName])) as TotalZipCode
            from ODSDataArchive.archive.HHJob_Data_201202 HH
            }
    /* This Is a SELECT INTO statement that inserts
       data into [Jobs].[dbo].[FactRPP]*/
    SELECT  [dbo].[FactJobsDaily].jobdid, 
            [dbo].[FactJobsDaily].DateKey,
            [dbo].[FactJobsDaily].YearMonth,
            [dbo].[FactJobsDaily].AccountKey,
            [dbo].[FactJobsDaily].BridgeSocKey,
            [dbo].[FactJobsDaily].HostSiteKey,
            [dbo].[FactJobsDaily].JobClickedCount,
            [dbo].[FactJobsDaily].JobResultsPageCount,
            (select DZ.ZipCodeKey 
               from dimensions.dbo.DimZipCode DZ
              where DZ.ZipCodeKey IN 
                               (Select CAST(TotalZipCode AS INT) 
                                 from ZipCodeCTE))
      INTO [Jobs].[dbo].[FactRPP]                                
      from dbo.FactJobsDaily  
           inner join ODSDataArchive.archive.HHJob_Data_201202  
                   on dbo.FactJobsDaily.JobDID = ODSDataArchive.archive.HHJob_Data_201202.DID  
                   and dbo.FactJobsDaily.datekey = ODSDataArchive.archive.HHJob_Data_201202.datekey 
           inner join dimensions.dbo.Dimzipcode dzc 
                   on ODSDataArchive.archive.HHJob_Data_201202.geoUSZip5 = dimensions.dbo.Dimzipcode.ZipCode
     where [dbo].[FactJobsDaily].yearmonth= 201202 
           and [dbo].[FactJobsDaily].isactivekey = 1 
         --  and ODSDataArchive.archive.HHJob_Data_201202.geoUSZip5  <> '' 
         --  and ODSDataArchive.archive.HHJob_Data_201202.geoUSZip5  IS NOT NULL
           and ODSDataArchive.archive.HHJob_Data_201202.status = 0 
           and ODSDataArchive.archive.HHJob_Data_201202.CountryName = 'US' 
    order by [dbo].[FactJobsDaily].jobdid;
4

1 に答える 1

1

CTE は通常のクエリに変換されるため、短い答えはイエスです。

于 2012-04-12T19:54:44.723 に答える