neto_celino 0 Denunciar post Postado Outubro 8, 2018 Bom dia caros amigos. Tenho 2 tabelas e gostaria de saber o que o "cliente não pagou". Tabela 1 = tbl_pedido ID | idpedido | idproduto | qtd | valorunitario | valor total 1 | 2 | 2 | 200 | 1 | 200 2 | 2 | 1 | 50 | 1 | 50 3 | 1 | 10 | 200 | 1 | 200 4 | 2 | 1 | 50 | 1 | 50 4 | 3 | 1 | 50 | 1 | 50 Manualmente por SELECT sum, consigo retornar o seguinte resultado: Total: Pedido 1 = R$ 200,00 Total: Pedido 2 = R$ 300,00 Tabela 2 = pagamentos ID | idpedido | valorpago | 1 | 2 | 50 | 2 | 2 | 100 | 3 | 3 | 50 | Considero então, que o PEDIDO 1 não tem pagamento registrado ainda e que o PEDIDO 2 falta R$ 150,00 a ser pago ainda e o PEDIDO 3 já está pago. De que forma, consigo em 1 SELECT só obter o valor que falta de pagamento nos pedidos e ocultar o que ja foi pago ? Grato desde já. Att Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme Luiz 41 Denunciar post Postado Outubro 8, 2018 Não seria mais facil incluir algum flag na tabela? por exemplo ID | idpedido | idproduto | qtd | valorunitario | valor total | pago 1 | 2 | 2 | 200 | 1 | 200 | 0 2 | 2 | 1 | 50 | 1 | 50 | 1 3 | 1 | 10 | 200 | 1 | 200 | 0 4 | 2 | 1 | 50 | 1 | 50 | 0 4 | 3 | 1 | 50 | 1 | 50 | 1 ai na sua query você faz um WHERE condicionando a coluna PAGO Desta forma você até poderá criar indices de consulta que melhorará a sua performance para pesquisas com grandes volumes WHERE pago=1 (1 para pago e 0 para não pago) Compartilhar este post Link para o post Compartilhar em outros sites
neto_celino 0 Denunciar post Postado Outubro 8, 2018 2 horas atrás, Guilherme Luiz disse: Não seria mais facil incluir algum flag na tabela? por exemplo ID | idpedido | idproduto | qtd | valorunitario | valor total | pago 1 | 2 | 2 | 200 | 1 | 200 | 0 2 | 2 | 1 | 50 | 1 | 50 | 1 3 | 1 | 10 | 200 | 1 | 200 | 0 4 | 2 | 1 | 50 | 1 | 50 | 0 4 | 3 | 1 | 50 | 1 | 50 | 1 ai na sua query você faz um WHERE condicionando a coluna PAGO Desta forma você até poderá criar indices de consulta que melhorará a sua performance para pesquisas com grandes volumes WHERE pago=1 (1 para pago e 0 para não pago) Entendi sua ideia, mas, em 1 mesmo pedido pode-se ter mais de 1 pagamento em data, hora, e metodo diferente (cartão, dinheiro, deposito) Acho que não ficaria facil a interpretação disso depois. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Outubro 8, 2018 Eu faria uma coluna de SALDO na tabela de PEDIDO , uma ou mais triggers na tabela de pagamento manteria esta coluna atualizada , uma breve pesquisa na web mostra como fazer isto. A vantagem a coluna responde perguntas como : Quem tem Saldo (total,parcial e em aberto) em uma só coluna. Compartilhar este post Link para o post Compartilhar em outros sites