none
Case no SQL com adição de string RRS feed

  • Pergunta

  • Pessoal tenho a seguinte solução numa coluna RG do aluno se ele for branco ou nulo vou pegar o Rg do responsavel de outra coluna, na solução abaixo consigo fazer isso:

     SELECT DISTINCT 
        US.SiteID, US.ClassificationID, US.UserID, US.GroupID, US.cod_escola, US.cod_aluno, 
        US.nome, US.cod_serie, US.cod_turma, 
        B.carteira_identidade_numero AS RG_Resp,
        ISNULL(NULLIF(US.carteira_identidade_numero,''),B.carteira_identidade_numero) as RG
    FROM 
             School.v_BankSlip AS B  
    INNER JOIN School.v_UserStudent AS US ON B.cod_escola = US.cod_escola AND B.cod_aluno = US.cod_aluno  
    WHERE 
        US.SiteID =2 
        AND  US.GroupID = 11 
        AND US.cod_serie = 3    
        AND US.cod_turma = 'P1'
    ORDER BY US.nome ASC
    
    Porém precisava que quando entrasse na condição do aluno não tiver Rg e ele pegar o Rg do pai então ele adicionasse uma string na frente do rg tipo:
     RG do Resp 44567587-00
    quinta-feira, 18 de março de 2010 14:54

Respostas

  • é so concatenar, segue exemplo:

     SELECT DISTINCT 
        US.SiteID, US.ClassificationID, US.UserID, US.GroupID, US.cod_escola, US.cod_aluno, 
        US.nome, US.cod_serie, US.cod_turma, 
        B.carteira_identidade_numero AS RG_Resp,
        ISNULL(NULLIF(US.carteira_identidade_numero,''),'RG do Resp ' + B.carteira_identidade_numero) as RG
    FROM 
             School.v_BankSlip AS B  
    INNER JOIN School.v_UserStudent AS US ON B.cod_escola = US.cod_escola AND B.cod_aluno = US.cod_aluno  
    WHERE 
        US.SiteID =2 
        AND  US.GroupID = 11 
        AND US.cod_serie = 3    
        AND US.cod_turma = 'P1'
    ORDER BY US.nome ASC
    

    Se a minha ajuda lhe for útil não esqueça de classificar. Att. Leonardo Marcelino
    quinta-feira, 18 de março de 2010 14:59

Todas as Respostas

  • é so concatenar, segue exemplo:

     SELECT DISTINCT 
        US.SiteID, US.ClassificationID, US.UserID, US.GroupID, US.cod_escola, US.cod_aluno, 
        US.nome, US.cod_serie, US.cod_turma, 
        B.carteira_identidade_numero AS RG_Resp,
        ISNULL(NULLIF(US.carteira_identidade_numero,''),'RG do Resp ' + B.carteira_identidade_numero) as RG
    FROM 
             School.v_BankSlip AS B  
    INNER JOIN School.v_UserStudent AS US ON B.cod_escola = US.cod_escola AND B.cod_aluno = US.cod_aluno  
    WHERE 
        US.SiteID =2 
        AND  US.GroupID = 11 
        AND US.cod_serie = 3    
        AND US.cod_turma = 'P1'
    ORDER BY US.nome ASC
    

    Se a minha ajuda lhe for útil não esqueça de classificar. Att. Leonardo Marcelino
    quinta-feira, 18 de março de 2010 14:59
  • Deu certo Valew cara.
    quinta-feira, 18 de março de 2010 16:08