Ir para conteúdo

POWERED BY:

Arquivado

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

Carol Designer

problema para trabalhar com 4 tabelas.

Recommended Posts

Pessoal to com problema para trabalhar com 4 tabelas.

Tenho 2 tabelas uma de produto outra de pedido ai somar todos os pedidos fiz o código abaixo que funciona perfeitamente.

<?
include "dbconfig.php"; 
$sql2 =" SELECT SUM(pedidos_private3.QUANTIDADE) AS QUANTIDADE_P,  pedidos_private3.ID_PRODUTO as ID_P, prod_vic_private.codigo as codigo_P
FROM pedidos_private3  
JOIN prod_vic_private ON pedidos_private3.ID_PRODUTO = prod_vic_private.refTran 
GROUP BY prod_vic_private.codigo" ;
$query2 = mysql_query($sql2)  or die (mysql_error());
while ($coluna2 = mysql_fetch_array($query2)){ 
?>

Porem tenho dois tipo de clientes então se tornam 4 tabelas 2 de produtos e 2 pedidos preciso somar quantos produtos tenho no total mas não esta dando certo, quando insiro o código abaixo a primeira coluna o COD. Produto sempre se repete e os valores completamente diferentes.

O correto seria

ProdutoP

produto Quantidade

0.6221.L22 = 5

0.6221.L24 = 6

 

Produtof

produto Quantidade

0.6221.L22 = 16

0.6221.L24 = 8

 

SOMA

0.6221.L22 = 21

0.6221.L24 = 14

 

Com o código abaixo ele fica assim

 

ProdutoP

produto Quantidade

0.6221.L22 = 80

0.6221.L22 = 40

 

Produtof

produto Quantidade

0.6221.L22 = 64

0.6221.L24 = 32

 

SOMA

0.6221.L22 = 144

0.6221.L24 = 72

 

 

Pelo que eu estou entendendo ele esta pegando a quantidade e multiplicando por 4 no Produtof e 16 no produtoP

 

<?
include "dbconfig.php"; 
$sql2 =" SELECT 
SUM(pp.QUANTIDADE) AS QUANTIDADE_P, 
SUM(pf.QUANTIDADE) AS QUANTIDADE_f, 
SUM(pf.QUANTIDADE+pp.QUANTIDADE) AS QUANTIDADE_T,
pvp.codigo as codigo_P, 
pvf.codigo as codigo_f 
FROM pedidos_private3 pp
INNER JOIN  pedidos_fisica3 pf  
INNER JOIN prod_vic_private pvp ON  (pvp.refTran = pp.ID_PRODUTO)
INNER JOIN prod_vic_fisica pvf ON (pvf.refTran = pf.ID_PRODUTO)
GROUP BY pvp.refTran, pvf.refTran, pp.ID_PRODUTO,  pf.ID_PRODUTO, pvp.codigo,  pvp.codigo 
order by pvp.codigo,  pvf.codigo 
" ; 
$query2 = mysql_query($sql2)  or die (mysql_error());
while ($coluna2 = mysql_fetch_array($query2)){ 
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tentaria fazer o seguinte, fazer uma sub-consulta para cada tipo de cliente(tipo a que você fez no primeiro exemplo)

E dai faria uma consulta usando essas duas subconsultas pra mostrar resultado final

 

seria algo assim:

 

select (t1.tot)as total1,(t2.tot) as total1 from (select count(id) as tot from tabela1)as t1,(select count(id) as tot from tabela2)as t2

Compartilhar este post


Link para o post
Compartilhar em outros sites

produto cartesiano na mente....

 

 

tente assim

 

SELECT SUM(pedidos_private3.QUANTIDADE) AS QUANTIDADE_P,  pedidos_private3.ID_PRODUTO as ID_P, prod_vic_private.codigo as codigo_P
FROM pedidos_private3  
JOIN prod_vic_private ON pedidos_private3.ID_PRODUTO = prod_vic_private.refTran 
GROUP BY prod_vic_private.codigo

UNION ALL

SELECT SUM(pedidos_fisica3.QUANTIDADE) AS QUANTIDADE_P,  pedidos_fisica3.ID_PRODUTO as ID_P, prod_vic_fisica.codigo as codigo_P
FROM pedidos_fisica3  
JOIN prod_vic_fisica ON pedidos_fisica3.ID_PRODUTO = prod_vic_fisica.refTran 
GROUP BY prod_vic_fisica.codigo

OBS: use uns alias nas suas tabelas na hora de criar as consulta q fica mais facil de ler depois ;)

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.