Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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!
Carregando comentários...