Ir para conteúdo
Fórum Script Brasil

Crema

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por Crema

  1. Ola Pessoal, primeiramente gostaria de agradecer por perder um tempo tentando me apoiar.

    Acredito que minha dúvida seja simples, porém eu estou estagnado e não consigo sair do lugar a alguns minutos. Vamos lá.

    Tenho duas tabelas em SQL, uma delas contem uma relação de despesas e essas despesas são separadas por centro de custo, porém esse centro de custo (CC) me traz o identificador. Tenho outra tabela com todas as informações de cada centro de custo cadastrado.

     

    Na prática:

    Tabela 1 Depesas

    Nome da Despesa // CC1 // CC2 // CCn

    Folha de pagamento // 1 // 2 // Null

    Correios // 1 // null // null

    Qualquer Coisa // 2 // 1 // null

    Tabela 2 centroCustos (CC)

    Ident // Descrição

    1 // DP

    2 // RH

     

    O que estou precisando fazer é um select onde eu consiga trazer da seguinte forma:

    Despesa // CC1 // CC2 // CCn

    Folha de Pagamento // DP // RH // null

    Correios // DP // null // null

    Qualquer Coisa // RH // DP // null

     

    Eu sei fazer joins quando utilizo apenas um campo, mas quando tenho varios campos que usam a mesma tabela para buscar o mesmo resultado, isso me deu um nó na cabeça. Uma solução talvez seria fazer diversos subselects, porém tenho certeza que não é a maneira mais prática de resolver. 

    Exemplo com subselect:

    Select Despesa, (select Descrição from centroCustos CC join Despesas De on CC.Ident = De.CC1) as CC1, (select Descrição from centroCustos CC join Despesas De on CC.Ident = De.CC2) as CC2, (select Descrição from centroCustos CC join Despesas De on CC.Ident = De.CCn) as CCn from Despesas

    Porém, são "n" Centros de custos, e portanto, poderia ter uma despesa com 10+ Centros de custos deixando tudo isso muito pesado.

     

    Conseguem me ajuda?

×
×
  • Criar Novo...