DannyND 1 Denunciar post Postado Julho 27, 2010 Olá pessoal, tudo certo? O problema é o seguinte. . tenho duas tabelas MySQL com itens de um pedido e outra com os itens faturados desse pedido. Quero exibir apenas os itens que não foram faturados, ou seja, retornar os registros que existem na tabela de pedidos, porém não existem na tabela de faturados, gerando um saldo para faturamento. A query já ajuda, mas o bom mesmo seria o código PHP. Valeu. .. Compartilhar este post Link para o post Compartilhar em outros sites
AmareshinO 0 Denunciar post Postado Julho 27, 2010 tem como postar a estrutura das tabelas???? abraços! Compartilhar este post Link para o post Compartilhar em outros sites
3l3tr1c 1 Denunciar post Postado Julho 27, 2010 Dá uma olhada nisso e vê se resolve: http://forum.imasters.com.br/index.php?/topic/399367-ordenar-distinct/ Compartilhar este post Link para o post Compartilhar em outros sites
DannyND 1 Denunciar post Postado Julho 29, 2010 Olá AmareshinO, Segue estrutura das tabelas. aviso_itens ( cd_item int(6) unsigned NOT NULL auto_increment, nr_nota int(6) NOT NULL DEFAULT '0' , nr_item int(3) unsigned NOT NULL DEFAULT '0' , cd_pedido int(6) NOT NULL DEFAULT '0' , nr_ped_cli varchar(8) , nr_tipo varchar(10) NOT NULL DEFAULT '' , vl_item float(12,2) DEFAULT '0.00' , per_des float(4,2) DEFAULT '0.00' , qtd int(9) unsigned , uni char(2) , origem char(1) , class varchar(10) , per_ipi float(4,2) DEFAULT '0.00' , preco float(12,2) DEFAULT '0.00' , div_ven char(2) , per_icm float(4,2) DEFAULT '0.00' , PRIMARY KEY (cd_item), KEY indice1 (nr_nota,cd_pedido), KEY indice2 (nr_item) ); tab_pedidos_itens ( CD_ITEM int(8) unsigned NOT NULL auto_increment, CD_PEDIDO int(8) , CD_PRODUTO varchar(15) , NR_QUANTIDADE int(5) , VL_VENDA_PEDIDO float(15,2) , log text NOT NULL , NR_QT_IRMAOS int(5) unsigned NOT NULL DEFAULT '0' , PRIMARY KEY (CD_ITEM), KEY indice1 (CD_PEDIDO,CD_PRODUTO) ); Preciso retornar os registros da tabela tab_pedidos_itens que não existem na aviso_itens quando o código do pedido for igual nas duas tabelas. Valeu Compartilhar este post Link para o post Compartilhar em outros sites
AmareshinO 0 Denunciar post Postado Julho 29, 2010 cara, eh so voce montar uma query entao! select p.* from tab_pedidos p, aviso_itens i where i.cd_pedido != p.cd_pedido aqui ele vai pegar todos os registros da tabela cd_pedido onde nao existam o codigo igual na tabela aviso_itens era isso +-? OBS: Eu nao testei e tb nao sei se o mySQL aceita ligar as 2 tabelas do jeito que eu fiz aki! entao se nao funcionar tem que ser feito um join entre as tabelas para pegar os dados que voce precisa! abraços! Compartilhar este post Link para o post Compartilhar em outros sites
DannyND 1 Denunciar post Postado Julho 29, 2010 Não é bem isso que preciso...Vou exemplificar melhor Exemplo: contrato 1234 Itens na tabela tab_pedidos_itens: 111,222,333 e 444 Itens faturados na tabela aviso_itens: 111 e 333 Preciso mostrar apenas os itens 222 e 444 da tabela tab_pedidos_itens. Tenho que comparar os itens nas duas tabelas com numero de pedido igual, porém só retornar o que não fi faturado. A lógica é bem simples, mas to penando pra colocar isso no código. . .afff rs Compartilhar este post Link para o post Compartilhar em outros sites
Daniel Merola 0 Denunciar post Postado Janeiro 26, 2011 Não é bem isso que preciso...Vou exemplificar melhor Exemplo: contrato 1234 Itens na tabela tab_pedidos_itens: 111,222,333 e 444 Itens faturados na tabela aviso_itens: 111 e 333 Preciso mostrar apenas os itens 222 e 444 da tabela tab_pedidos_itens. Tenho que comparar os itens nas duas tabelas com numero de pedido igual, porém só retornar o que não fi faturado. A lógica é bem simples, mas to penando pra colocar isso no código. . .afff rs Espero que já tenha resolvido, mas se não: SELECT * FROM tab_pedidos_itens WHERE NOT EXISTS (SELECT * FROM aviso_itens WHERE aviso_itens.CD_ITEM= tab_pedidos_itens.CD_ITEM) ou se quiser o resultado em NULL SELECT DISTINCT etvitens.cd_item, Sum (aviso_itens.qtd) FROM tab_pedidos_itens LEFT OUTER JOIN aviso_itens ON aviso_itens.cd_item = tab_pedidos_itens.cd_item GROUP BY tab_pedidos_itens.cd_item ORDER BY tab_pedidos_itens.cd_item Compartilhar este post Link para o post Compartilhar em outros sites