2010-10-30 4 views
0

J'ai les requêtes suivantes et je veux les mettre dans une instruction CASE sql donc je n'aurais qu'une requête mais je ne sais pas comment faire ça. Quelqu'un peut-il m'aider?Instruction 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' 

Merci

Répondre

1

Propably un UNION-Query aider:

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'