Nukes 0 Denunciar post Postado Setembro 24, 2011 Galera, estou com o seguinte problema: Tenho a tabela Fenix e a tabela Almox com as seguintes estruturas: Fenix - campo.codigo - campo.quantidade Almox - campo.codigo - campo.quantidade O que eu preciso fazer é o seguinte: Pegar somente os 'campo.codigo' que existem nas duas tabelas, e subtrair a quantidade de cada valor retornado. Por exemplo: Fenix Codigo = 10 | Quantidade = 3 Codigo = 12 | Quantidade = 2 Codigo = 14 | Quantidade = 7 Almox Codigo = 10 | Quantidade = 1 Codigo = 9 | Quantidade = 4 Codigo = 14 | Quantidade = 6 Isso iria me retornar: Resultado: Codigo = 10 | Quantidade = 2 Codigo = 14 | Quantidade = 1 Ou seja, ele pega os codigos que são iguais nas duas tabelas e diminui a da tabela1 pra tabela2. Obrigado desde já. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 24, 2011 Basta um join (sem outer) e calcular a diferença select Fenix.codigo , (Fenix.quantidade - Almox.quantidade) difer where Fenix.codigo = Almox.codigo Compartilhar este post Link para o post Compartilhar em outros sites
Nukes 0 Denunciar post Postado Setembro 24, 2011 Basta um join (sem outer) e calcular a diferença select Fenix.codigo , (Fenix.quantidade - Almox.quantidade) difer where Fenix.codigo = Almox.codigo Motta, ocorreu o seguinte erro de sintaxe: ou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where conv_fenix.codigo = conv_almox.codigo' at line 1 Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 24, 2011 select Fenix.codigo , (Fenix.quantidade - Almox.quantidade) difer from Fenix , Almox where Fenix.codigo = Almox.codigo Compartilhar este post Link para o post Compartilhar em outros sites
Nukes 0 Denunciar post Postado Setembro 24, 2011 select Fenix.codigo , (Fenix.quantidade - Almox.quantidade) difer from Fenix , Almox where Fenix.codigo = Almox.codigo Certo, agora eu acho que deu certo, mas como eu faço pra imprimir no PHP o valor fenix.quantidade - almox.quantidade? Meu código está assim: $query3 = ("select conv_fenix.codigo , (conv_fenix.quantidade - conv_almox.quantidade) difer from conv_fenix , conv_almox where conv_fenix.codigo = conv_almox.codigo"); $sql3 = mysql_query($query3) or die (mysql_error()); while ($busca3 = mysql_fetch_array($sql3)) { echo '<tr> <td>'.$busca3['codigo'].'</td> <td>'.$busca3['quantidade'].'</td> </tr>'; } ?> Eu tentei imprimir assim, pelo índice da array: echo '<tr> <td>'.$busca3['codigo'].'</td> <td>'.$busca3['1'].'</td> </tr>'; } ?> ... Se eu coloco 0 no indice da var $busca3, ele imprime os códigos dos produtos tudo certo... Mas se eu coloco o índice 1, ele imprime uns números enormes: 18446744073709551615 0 0 0 0 0 0 0 0 0 18446744073709551615 Como se tivesse juntado tudo... (Lembrando que ta dentro de um while, era pra imprimir um em cada <td>... Compartilhar este post Link para o post Compartilhar em outros sites