Fórum Select com duas tabelas e usar Group by #257063
03/11/2004
0
Ola caro programadores,
Estou fazendo um select onde o mesmo executa a soma dos produtos vendidos e agrupa por código, só que estes produtos fica em uma tabela de itens onde não tenho a referencia e nem a descrição do produto. Em outros casos uso o select com a clausula where e busca as informações, mas agora estou usando group by e não esta aceitando eu colocar as duas tabelas no select. Como eu faço para buscar a descrição da mercadoria na tabela produtos?
Tenho a tabela itens_vendidos e produtos
minha query:
with Query do
begin
close;
sql.clear;
sql.add(´select codproduto,valorunit,referencia,sum(Quantidade) as totalprod´);
sql.add(´from itens, produto´);
sql.add(´where Cancelado <> True and produto.codproduto = itens.codproduto´);
if (edtdatainic.Text <>´ / / ´)and (edtdatafin.text <>´ / / ´)then
begin
sql.add(´and datamov >= :datainicial and datamov <= :datafinal´);
try
Params [0].asdate := strtodate (edtdatainic.text);
Params [1].asdate := strtodate (edtdatafin.text);
except
on econverterror do
begin
beep;
Showmessage (´Data Inválida´);
edtdatainic.setfocus;
exit;
end;
end;
end;
sql.add(´group by codproduto, valorunit, referencia´);
sql.add(´order by totalprod desc, codproduto asc´);
open;
Se alguém puder me ajudar agradeço.
Hugo Fabrício
:shock:
Estou fazendo um select onde o mesmo executa a soma dos produtos vendidos e agrupa por código, só que estes produtos fica em uma tabela de itens onde não tenho a referencia e nem a descrição do produto. Em outros casos uso o select com a clausula where e busca as informações, mas agora estou usando group by e não esta aceitando eu colocar as duas tabelas no select. Como eu faço para buscar a descrição da mercadoria na tabela produtos?
Tenho a tabela itens_vendidos e produtos
minha query:
with Query do
begin
close;
sql.clear;
sql.add(´select codproduto,valorunit,referencia,sum(Quantidade) as totalprod´);
sql.add(´from itens, produto´);
sql.add(´where Cancelado <> True and produto.codproduto = itens.codproduto´);
if (edtdatainic.Text <>´ / / ´)and (edtdatafin.text <>´ / / ´)then
begin
sql.add(´and datamov >= :datainicial and datamov <= :datafinal´);
try
Params [0].asdate := strtodate (edtdatainic.text);
Params [1].asdate := strtodate (edtdatafin.text);
except
on econverterror do
begin
beep;
Showmessage (´Data Inválida´);
edtdatainic.setfocus;
exit;
end;
end;
end;
sql.add(´group by codproduto, valorunit, referencia´);
sql.add(´order by totalprod desc, codproduto asc´);
open;
Se alguém puder me ajudar agradeço.
Hugo Fabrício
:shock:
Hugofab
Curtir tópico
+ 1
Responder
Post mais votado
03/11/2004
Olá
Que erro ele está dando? Pelo que eu vi, o que ele iria reclamar eh que voce não está definindo por qual tabela agrupar...
Tente especificando a tabela nos campos que estiverem presentes nas 2
:idea: Procure postar só o que for relevante, no caso a sintaxe SQL, pois ajuda na hora da leitura e interpretação :wink:
Espero que ajude
Até+
Que erro ele está dando? Pelo que eu vi, o que ele iria reclamar eh que voce não está definindo por qual tabela agrupar...
Tente especificando a tabela nos campos que estiverem presentes nas 2
group by produto.codproduto, produto.valorunit, produto.referencia
:idea: Procure postar só o que for relevante, no caso a sintaxe SQL, pois ajuda na hora da leitura e interpretação :wink:
Espero que ajude
Até+
Paulo_amorim
Responder
Gostei + 1
Mais Posts
03/11/2004
Hugofab
Paulo Amorin,
Fiz como falou e funcionou corretamente
obrigado
Hugo Fabrício
Fiz como falou e funcionou corretamente
obrigado
Hugo Fabrício
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)