Consulta em tabelas mescladas

Delphi

22/07/2015

Boa noite amigos.

Estou com o seguinte código:

with query do
    begin
      close;
      sql.clear;
      sql.add('select venda.*, clientes.*, itens_venda.*, itens_venda.id_prod as med, SUM(itens_venda.qtd) as qtd, produto.id_prod, produto.nome as produto');
      sql.add('from venda, clientes, itens_venda, produto');
      sql.Add('and venda.id_cliente = clientes.id_cliente');
      sql.Add('and itens_venda.id_venda = venda.id_venda');
      sql.Add('and itens_venda.id_prod = produto.id_prod');
      sql.Add('Group by produto');
      open;
    end;


Eu quero que o resultado da consulta agrupe todos os produtos iguais e some a quantidade do tipo de produto, mas não está funcionando. Alguma sugestão?
Pedro

Pedro

Curtidas 0

Respostas

Jothaz

Jothaz

22/07/2015

Sugiro uma pesquisada em JOIN, INNER JOIN, FULL JOIN, LEFT JOIN e RIGHT JOIN.

Depois poste a sua dúvida.
GOSTEI 0
Pedro

Pedro

22/07/2015

Sugiro uma pesquisada em JOIN, INNER JOIN, FULL JOIN, LEFT JOIN e RIGHT JOIN.

Depois poste a sua dúvida.


Como assim?
GOSTEI 0
Jothaz

Jothaz

22/07/2015

Para desenvolver sistema usando banco de dados relacionais é necessário conhecer de Modelagem de Dados e conhecer a SQL.
A forma de recuperar dados relacionais ("CONSULTA EM TABELAS MESCLADAS") é criar foreign key (Chave estrangeira)
e relacionar as tabelas.
Posteriormente para recuperar as informações você utiliza o JOIN, e sua variações INNER JOIN, FULL JOIN, LEFT JOIN e RIGHT JOIN.

É um assunto extenso e requer um grau de aprendizado e não teria como esgotá-lo em um post do fórum, pois existem milhares de tutorias e artigos sobre o assunto na internet.

Sugiro que você pesquise, estude e abserova os conceitos e post suas dúvidas.

Basicamente o comando seria:
SELECT [CAMPOS] FROM "TABELA_DA_ESQUERDA" [INNER] JOIN | {LEFT | RIGHT | FULL } [OUTER]} JOIN "TABELA_DA_DIREITA"

Utilizando Joins em SQL
GOSTEI 0
POSTAR