2010-10-30 239 views
0

我有以下查询,我想把它们放在一个sql CASE语句中,所以我只有一个查询,但我不知道该怎么做。有人能帮助我吗?SQL CASE语句

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一个UNION查询帮助:

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'