none
Problema com Consulta Quebrando em linhas. RRS feed

Respostas

  • Grande Fausto..

    Esqueci do Unpivot :)...

    Att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba
    terça-feira, 21 de setembro de 2010 15:37

Todas as Respostas

  • Always

    segue um exemplo

    declare @tbTeste table (Nome varchar(40),Email1 varchar(40),Email2 varchar(40))
    insert @tbTeste values ('João','teste@email.com.br','teste2@email.com.br')
    insert @tbTeste values ('Zé','ze@email.com.br','ze2@email.com.br')
    insert @tbTeste values ('Bill','bill@email.com.br','gates@email.com.br')
    
    select nome+','+email1+','+email2 from @tbTeste
    

    att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba
    terça-feira, 21 de setembro de 2010 14:20
  •  Ola Marcelo Não Entendi muito bem o que vc quiz dizer.

    Ta minha tabela eu ja tenho os dados hoje a consulta funciona da seguinte maneira

    select C.Nome, C.des_email1   from  t_clientes C where C.cod_cliente =1386
    union
    select C.Nome,C.des_email2   from  t_clientes C  where C.cod_cliente =1386

     

    ou seja pra mim gerar outra linha eu faço o union com isso tenho o resultado.

    Joao, Email 1

    Joao, Email 2

    O que eu gostaria de saber é se tem como fazer isso mas sem utilizar Union ?

     

    terça-feira, 21 de setembro de 2010 14:30
  • Always,

    agora entendi sua necessidade, mas sinceramente não vejo uma outra alternativa performática... qual a necessidade de substituir o union?

    att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba
    terça-feira, 21 de setembro de 2010 14:48
  • Justamente a performace. é que eu tenho muitos outros campos e relações com outras tabelas. Com isso fazendo 2 veses o mesmo select a consulta fica ruim

    Com isso queria fazer de um jeito onde não precisa-se usar o Union. =\
    terça-feira, 21 de setembro de 2010 14:54
  • Always seu SQLServer é 2005 ou 2008? Se for use o Unpivot:

     

    Create Table tbTeste (Nome varchar(40),Email1 varchar(40),Email2 varchar(40))
    insert Into tbTeste values ('João','teste@email.com.br','teste2@email.com.br')
    insert Into tbTeste values ('Zé','ze@email.com.br','ze2@email.com.br')
    insert Into tbTeste values ('Bill','bill@email.com.br','gates@email.com.br')
    
    
    Select Nome, OrdemEmail, sEmail
     From (Select Nome, Email1, Email2 From tbTeste) A
     Unpivot (sEmail For OrdemEmail In (Email1, Email2)) as unP;
    

     


    Tks. Fausto Fiorese Branco MCTS, MCITP/DBA 2005 | MCITP/DBA 2008 São Paulo - Brasil * http://www.linkedin.com/in/faustobranco
    terça-feira, 21 de setembro de 2010 15:04
  • Grande Fausto..

    Esqueci do Unpivot :)...

    Att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba
    terça-feira, 21 de setembro de 2010 15:37
  • Obrigados a todos fiz no sql 2008e funcionou legal ,

    Obrigado a todos
    terça-feira, 28 de setembro de 2010 13:59