Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Djonatan Buss

[Resolvido] SELECT entre algumas tabelas...

Recommended Posts

Bom pessoal to com uma dúvida muito estranha.

 

Tenho 5 tabelas ( vou citar como exemplo):

 

1 tabela de pessoas com id_pessoas.

 

1 tabela de producao de sorvete. ( discriminando producao por pessoa )

1 tabela de valores pra sabor de sorvete. ( producao de sorvete TEM um valor )

 

1 tabela de producao de palitos. ( discriminando producao por pessoa )

1 tabela de valores pra tipo de palitos. ( producao de palito TEM um valor )

 

Agora pra gerar um relatório estou tendo problemas de fazer em um único select, tem como eu fazer uma junção dessas 5 tabelas sendo que algumas vezes

1 funcionário produziu sorvetes mas não produziu palitos ( e vice-versa)?

 

Assim funciona meu SQL pra produção de sorvetes

SELECT COUNT( * ) AS `registros` , `admissao`.`nome`, `producao_funcionario`.`id_admissao`
                        FROM `producao_funcionario` , `producao` , `admissao`
                        WHERE `producao`.data_prod BETWEEN '$data_inicial' AND '$data_final'
                        AND `producao_funcionario`.`id_producao` <>6
                        AND `producao_funcionario`.`id_funcao` <> 0
                        AND `producao_funcionario`.`id_producao` = `producao`.`COD`
                        AND `producao_funcionario`.`id_admissao` = `admissao`.`id_admissao`
                        AND `producao`.`status`='F'
                        GROUP BY `producao_funcionario`.`id_admissao`
                        ORDER BY `admissao`.`nome`
Assim pra produção de palitos.

SELECT COUNT( * ) AS `registros`, `admissao`.`nome`
            FROM `admissao`, `producao_paletizar_tombar`, `producao_saldo`
            WHERE `producao_paletizar_tombar`.`id_admissao` = `admissao`.`id_admissao`
            AND `producao_paletizar_tombar`.`id_producao_saldo` = `producao_saldo`.`id_producao_saldo`
            GROUP BY `producao_paletizar_tombar`.`id_admissao`
            ORDER BY `admissao`.`nome`

Listar tudo isso agregando a cada funcionário as datas de produção de sorvete e o tipo de cada sorvete + a produção de palitos vai me complicar com 2 selects...

 

SIM está mal modelado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rapaz, posta a estrutura dessas tabelas aí pra entender melhor o que se passa...

 

Creio que já resolvi. O problema é com uso de FULL JOIN, o MySQL nao tem isso implementado então tive que fazer uma UNION

 

Problema da UNION é que tenho que ter o mesmo número de colunas nos dois SQLs...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.