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.
Pergunta
Crema
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?
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.