2010-11-01 7 views
0

i passé environ 4 heures, mais je ne pourrais pas trouver réponse, je veux le résultat commeGroupe les résultats de deux requêtes

Rejette

somefilename1.txt - Rejeté (et si aucun fichier alors pas d'autre expression (No - Invalid) - Requête 1) somefilename2.txt - Précédent (et si aucun fichier puis No d'autre expression (Non - Valide) -Query 2)

Je ne comprends pas ce que je fais, puis-je utiliser union tout ou l'expression de cas. plz m'aider avec ça.

QUERY1:

if exists (select NULL from table1 where Column1 = 'File1') 
    select distinct Column1 +'-'+ 'Rejected' as 'Rejects' from table1 
    where Column1 = 'File1' 
else 
    select 'No' as 'Invalid' 

QUERY2:

if exists (select NULL from table1 where Column1 = 'File2') 
    select distinct Column1 +'-'+ 'Previous' as 'Rejects' from table1 
    where column1 = 'File2' 
else 
    select 'No' as 'valid' 

Merci

+1

Vous avez choisi un mauvais dialecte pour ce site. – zerkms

+0

Je suis désolé. je suis nouveau à ceci. – mike

+0

Neo, bienvenue sur Stack Overflow - juste une astuce, "PLZ HELP ME WITH THIS" n'est vraiment pas un bon titre - cela amènera les gens à baisser votre question comme cela s'est déjà produit. Essayez simplement "Grouper les résultats de deux requêtes" ou quelque chose ... Vous pouvez le modifier, donc pas de problème. – makdad

Répondre

0

base sur les commentaires, voir si cela renvoie ce que vous cherchez.

S'il n'y a pas des enregistrements dans la table le résultat est No Input File

Lorsque les dossiers sont présents, chaque ligne est évaluée par la déclaration CASE.

--drop table table1 

create table table1 
(SubjectArea varchar(255) 
, SrcFileName varchar(255)) 

insert into table1 
select 'UaqaFacetsPvs','somefilename1.txt' 
union select 'UaqaFacetsRjct','somefilename2.txt' 
union select null,null 
union select null,'somefilename2.txt' 

IF EXISTS(SELECT NULL FROM table1 WHERE SubjectArea in ('UaqaFacetsRjct','UaqaFacetsPvs')) 
    SELECT DISTINCT SrcFileName 
    + ' - ' + 
    CASE SubjectArea 
     WHEN 'UaqaFacetsPvs' THEN 'FacetsPvsFile' 
     WHEN 'UaqaFacetsRjct' THEN 'FacetsRjctFile' 
     ELSE '' 
     END AS Result 
    FROM table1 
    WHERE SubjectArea in ('UaqaFacetsRjct','UaqaFacetsPvs') 
ELSE SELECT 'No input file' AS Result 

Ce IF renvoie cette:

Result 
--------------------------------- 
somefilename1.txt - FacetsPvsFile 
somefilename2.txt - FacetsRjctFile 
+0

Salut Vinnie vraiment apprécier votre réponse, mais les rejets sur le dessus n'est rien mais le résultat des deux requêtes. Je ne sais pas quel serait le fichier .txt ou s'il y aurait un fichier. – mike

+0

Pouvez-vous fournir la mise en page et les données seraient dans table1 alors? – Vinnie

+0

sure vinnie, Voici les requêtes et la table n'est rien d'autre que le ProcessControl dans la base de données SSISlogs.(ne pas avoir assez d'espace donc je l'ai mis dans la section de réponse) UNE FOIS ENCORE MERCI BEAUCOUP POUR VOTRE AIDE – mike

0

finalement Après tout combat je compris cela. J'ai sorti le IF..ELSE. J'ai créé une table temporaire INSERT INTO .. SELECT DISTINCT dans les deux requêtes. Donc c'est comme ...

TRUNCATE TABLE #TEMP; 

INSERT INTO #TEMP SELECT DISTINCT...... (Query 1); 

INSERT INTO #TEMP SELECT DISTINCT...... (Query 2); 

SELECT * FROM #TEMP; 

Merci tout spécialement Vinnie. Appréciez votre aide Man.

Questions connexes