none
Montagem de Query - urgente. RRS feed

  • Pergunta

  •  

    Olá amigos,

    Tenho o seguinte estrutura de dados:

    Tabela 1:     FUNCIONARIO         (cadastro de funcionário)
    campos:      func_id
                      func_nome

    Tabela 2:     CAD_VAR                (cadastro de valores das variávies)
    campos:      cad_var_id
                       func_id
                       tab_var_id
                       cad_var_valor

    Tabela 3:     TAB_VAR                 (cadastro de títulos das variáveis)
    campos:       tab_var_id
                       tab_var_descr
                      

    Supondo que o exista os seguintes valores nas tabelas:

    Tabela 1:     FUNCIONARIO         (cadastro de funcionário)
    campos:      func_id                ===>    1
                      func_nome           ===>    JOSE

    Tabela 2:     CAD_VAR                (cadastro de valores das variávies)
    campos:      cad_var_id           ===>  1
                       func_id                ===>  1
                       tab_var_id           ===>  1
                       cad_var_valor      ===> 100.00

    Tabela 3:     TAB_VAR                 (cadastro de títulos das variáveis)
    campos:       tab_var_id          ===> 1
                       tab_var_descr     ===> Vales diversos

    E preciso montar uma QUERY para popular um GRIDVIEW da seguinte forma:

    NOME DO FUNCIONARIO              VALES DIVERSOS
    JOSE                                          100,00

     

    Atenciosamente

    Alex Henrique

    sexta-feira, 13 de abril de 2007 16:29

Todas as Respostas

  • Olá Alex,

     

    Tente isso:

     

    select func_nome as [NOME DO FUNCIONARIO],cad_var_valor as [VALES DIVERSOS] from funcionario a
    inner join cad_var b on a.func_id=b.func_id
    inner join tab_var c on b.tab_var_id = c.tab_var_id

     

     

    Espero ter ajudado

    sexta-feira, 13 de abril de 2007 16:48
  • Olá Ezirraffner,

     

          obrigado por ter respondido...

     

    Efetuei o teste do exemplo que vc me passou, mas não saiu correto...

     

    saiu assim:

     

    NOME DO FUNCIONARIO                 VALORES DIVERSOS

    Jose                                                        100.00

     

    Mas teria que sair assim....

     

     

    NOME DO FUNCIONARIO                 VALES

    Jose                                                         100.00

     

     

    Apartir da segunda coluna, deve ser criado uma coluna para cada item da tabela tab_var.... Vamos supor que nessa mesma tabela tenho dois registro da seguinte forma

     

    Tabela 3:     TAB_VAR                 (cadastro de títulos das variáveis)
       campos:       tab_var_id
                             tab_var_descr

     

    tab_var_id             tab_var_descr

    1                             Vales

    2                              Salario

     

     

    tem que sair assim:

     

    NOME DO FUNCIONARIO                 Vales                    Salario

    Jose                                                     100.00                   200.00

     

     


     

     

    sexta-feira, 13 de abril de 2007 17:05
  • Olá

     

    Qual é a versão do SLQ Server?

     

    sexta-feira, 13 de abril de 2007 17:19
  • Estou utilizando do SQL Server 2000....

     

     

    Sei que no 2005 existe PIVOT que dá para transformar linhas em colunas....

     

    mas acho que terei que encontrar outra forma de fazer isso...

     

     

    Tem alguma idéia...

     

     

    sexta-feira, 13 de abril de 2007 19:30
  • Olá Alex,

     

    Postei um exemplo de uma procedure que transforma linhas em colunas, sem usar PIVOT. Veja: http://forums.microsoft.com/MSDN-BR/ShowPost.aspx?PostID=1415322&SiteID=21

     

    Espero ter ajudado

     

    segunda-feira, 16 de abril de 2007 02:37