2010-10-30 5 views
0

У меня есть следующие запросы, и я хочу поместить их в SQL-запрос CASE, поэтому у меня будет только один запрос, но я не знаю, как это сделать. Может кто-нибудь мне помочь?SQL CASE statement

IF (SELECT EtlLoadId 
FROM ssislogs.audit.processcontrol 
WHERE SubjectArea = 'UaqaFacetsImp') > 0 
SELECT pc.SrcFileName + ' - '+ CONVERT(VARCHAR(10), pc.[RecordCount]) AS FacetsImpCount 
FROM ssislogs.audit.processcontrol pc left outer join 
Uaqa.LettersAndCardsExports lc 
on pc.etlloadid = lc.etlloadid 
    WHERE pc.subjectarea = 'UaqaFacetsImp' 
ELSE 
SELECT 'No input file' AS FacetsImpCount 

SELECT pc.subjectarea AS FacetsRjctFile 
FROM ssislogs.audit.processcontrol pc left outer join 
Uaqa.LettersAndCardsExports lc 
on pc.etlloadid = lc.etlloadid 
    WHERE pc.subjectarea = 'UaqaFacetsRjct' 

SELECT pc.subjectarea AS FacetsPvsFile 
FROM ssislogs.audit.processcontrol pc left outer join 
Uaqa.LettersAndCardsExports lc 
on pc.etlloadid = lc.etlloadid 
    WHERE pc.subjectarea = 'UaqaFacetsPvs' 

Благодаря

ответ

1

Propably союзной-запроса поможет:

SELECT 'FacetsRjctFile' as Type, pc.subjectarea 
FROM ssislogs.audit.processcontrol pc left outer join 
Uaqa.LettersAndCardsExports lc 
on pc.etlloadid = lc.etlloadid 
    WHERE pc.subjectarea = 'UaqaFacetsRjct' 

UNION 

SELECT 'FacetsPvsFile' as Type, pc.subjectarea 
FROM ssislogs.audit.processcontrol pc left outer join 
Uaqa.LettersAndCardsExports lc 
on pc.etlloadid = lc.etlloadid 
    WHERE pc.subjectarea = 'UaqaFacetsPvs'