junaooaks Postado Agosto 10, 2007 Denunciar Share Postado Agosto 10, 2007 ai galera preciso de uma consulta por data que me retorne o cod_produto, nome_produto, quantidade ( quantas vezes o produto X saiu durante a data inicial e data final)a estrutura da tabela esta assim:tabela itens:cod_itenscod_pedidocod_produtovalor_vendidoquanttabela pedido:cod_pedidocod_vendedorcod_clientemêsanodatatabela produtocod_produtoprodutolitragemvalorgalera preciso de um exmplo quem puder me ajudar eu agradeço ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Agosto 10, 2007 Denunciar Share Postado Agosto 10, 2007 Se você mantiver essa estrutura, terá de montar uma gambiarra horrível. Use campo DATE e use a cláusula Between:Select dados From tabela Where data Between data1 And data2;Abraços,Beraldo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 junaooaks Postado Agosto 10, 2007 Autor Denunciar Share Postado Agosto 10, 2007 Se você mantiver essa estrutura, terá de montar uma gambiarra horrível. Use campo DATE e use a cláusula Between:Select dados From tabela Where data Between data1 And data2;Abraços,Beraldoo campo data esta em dateconsulta aqui esta assim mas retornar erro:<?php $cod_vendedor = $_POST ["cod_con"];$data_inicial = $_POST ["inicio"];$data_final = $_POST ["fim"];//conexao com o banco de dado sisgew$conn = mysql_connect('localhost', 'root', '123');$db = mysql_select_db("sisgew") or die ("não HÀ BANCO DE DADO!");$sql = "SELECT pro.cod_produto as cod, pro.produto as nome,COUNT (*) i.quant as quantidadefrom produto pro, itens i, pedido pedWHERE ped.data BETWEEN '$data_inicial' AND '$data_final' ORDER BY data ASC";$result = @mysql_query($sql);if (!$result){echo "ERRO NA CONSULTA:sql" . mysql_error();exit;}$mysql= mysql_fetch_assoc($result);echo $cod_pro = $mysql ['cod'];echo $nome = $mysql ['nome'];echo $quant = $mysql ['quantidade'];?>o erro e este:ERRO NA CONSULTA:sqlVocê tem um erro de sintaxe no seu SQL próximo a '(*) i.quant as quantidade from produto pro, itens i, pedido ped WHERE ped.data' na linha 1 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Agosto 10, 2007 Denunciar Share Postado Agosto 10, 2007 Se data é do tipo DATE, por que existem os campos mês e ano?O erro é causado devido àquele espaço entre o Count e os parênteses. Retire-o. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 junaooaks Postado Agosto 10, 2007 Autor Denunciar Share Postado Agosto 10, 2007 O erro é causado devido àquele espaço entre o Count e os parênteses. Retire-o.tirei o estavo não aparece erros mas exibi nada na tela Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 junaooaks Postado Agosto 11, 2007 Autor Denunciar Share Postado Agosto 11, 2007 ai galera o meu problema e so que a consulta não esta restringindo por data ela esta pegando todo o conteudo do banco de dado e não esta pegando somente aquele que esta entre a data inicial e data finalcodigo:$sql = "SELECT pro.cod_produto as cod, pro.produto as nome, sum(i.quant) as quantidadefrom produto pro, pedido ped, itens iWHERE ped.data BETWEEN '$data_inicial' AND '$data_final' AND pro.cod_produto = i.cod_produtoAND ped.cod_vendedor = '$cod_vendedor'GROUP BY pro.cod_produtoORDER BY data ASC"; lembrando que no banco de dados a opção data esta como date Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 itibere Postado Agosto 11, 2007 Denunciar Share Postado Agosto 11, 2007 Tente usar este formato para o between:where (data between '$datainicio 'and '$datafim') Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Agosto 12, 2007 Denunciar Share Postado Agosto 12, 2007 Quais são os valores de $data_inicio e $data_fim? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 itibere Postado Agosto 13, 2007 Denunciar Share Postado Agosto 13, 2007 Tente usar este formato para o between:where (data between '$datainicio 'and '$datafim') Exemplo: where (data between '2007-01-01 'and '2007-01-31')São as datas que definem o período para a consulta "De - Até"Quais são os valores de $data_inicio e $data_fim?A modificação que fiz em realção ao codigo originaol, foi a inclusão dos parenteses , que é a forma que faço e sempre funciona. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 junaooaks Postado Agosto 13, 2007 Autor Denunciar Share Postado Agosto 13, 2007 Quais são os valores de $data_inicio e $data_fim?não tem data certa o relatorio e tirado em qualquer dia no mêsmas a data fica assim2007-08-09 ate 2007-08-20essa e uma data cadatra no banco de dadowhere (data between '$datainicio 'and '$datafim')desta formar soma mais errado aindavo estrutura o meu banco de dado aqui pra vocês ver talves ajudatabela clientecod_cliente INTnome VARCHARendereco VARCHARuf CHARcidade VARCHARcep INTtabela itens cod_itens INTcod_pedido INTcod_produto INTvalor_vendido DECIMALquant INT ( onde quarda a quantidade de saida de cada produtotabela pedidocod_pedido INTcod_vendedor INTcod_cliente INTmês VARHARano VARCHARdata DATE (onde quarda a data de saida dos produtos)tabela produtocod_produto INTproduto VARCHARlitragem VARCHARvalor DECIMALtabela vendedorcod_vendedor INTnome_vend VARCHARtel VARCHARagadeço a todos Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
junaooaks
ai galera
preciso de uma consulta por data que me retorne o cod_produto, nome_produto, quantidade ( quantas vezes o produto X saiu durante a data inicial e data final)
a estrutura da tabela esta assim:
tabela itens:
cod_itens
cod_pedido
cod_produto
valor_vendido
quant
tabela pedido:
cod_pedido
cod_vendedor
cod_cliente
mês
ano
data
tabela produto
cod_produto
produto
litragem
valor
galera preciso de um exmplo
quem puder me ajudar eu agradeço ?
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.