2017-10-19 22 views
-1

je veux mettre ces conditions dans ma procédure stockéeje veux mettre if else dans la procédure de magasin, mais trouver aucune solution

if ((select PriSubmissionStatusId from Claim where ClaimId = 375)!= 106 ) Print 'Primary' 
else if((select SecSubmissionStatusId from Claim where ClaimId = 375)= 0)print 'Primary' 
else if((select SecSubmissionStatusId from Claim where ClaimId = 375)!= 106)print 'Secoundary' 
else if((select OthSubmissionStatusId from Claim where ClaimId = 375)= 0)print 'Secoundry' 
else if((select OthSubmissionStatusId from Claim where ClaimId = 375)!= 106)print 'Other' 
else print 'Primary' 

comme nom de colonne construire, leur est également autre colonne dans la procédure stockée qui viennent de différentes tables. une idée?

+0

Les conditions sont confus! LIke si SecSubmissionStatusId = 0, alors SecSubmissionStatusId = 0 et SecSubmissionStatusId <> 106 sont vrais! Pouvez-vous décrire en détail avec quelques exemples de données ce dont vous avez réellement besoin? –

Répondre

0

Utilisation Case When au lieu de if else

SELECT CASE WHEN PriSubmissionStatusId <> 106 THEN 'Primary' 
      WHEN SecSubmissionStatusId = 0  THEN 'Primary' 
      WHEN SecSubmissionStatusId <> 106 THEN 'Secoundary' 
      WHEN OthSubmissionStatusId = 0  THEN 'Secoundry' 
      WHEN OthSubmissionStatusId <> 106 THEN 'Other' 
     END 
FROM Claim 
WHERE ClaimId = 375 
+0

leurs autres colonnes, comment puis-je l'utiliser. –

+0

s'il vous plaît mettez votre échantillon de données de table –

+0

merci Marian Nasry maintenant il fonctionne parfaitement. –