Ajuda com SQL
Eae Galera, vocês poderiam me dar uma ajuda?
É o seguinte, tenho uma tabela da forma abaixo:
ProdutoTipoCor
FEIJAO ABRANCO
FEIJAO ABRANCO
FEIJAO ABRANCO
FEIJAO BPRETO
ARROZ ABRANCO
ARROZ BBRANCO
ARROZ BBRANCO
Queria que Filtrar esta informações para serem exibidas da forma abaixo:
ProdutoTipoCorQuantidade
FEIJAO ABRANCO 3
FEIJAO BPRETO 1
ARROZ ABRANCO 1
ARROZ BBRANCO 2
Obs.: A tabela seria igual a anterior sendo eliminado apenas as duplicidades, e somando os campos que forem duplicados.
Com o código abaixo consegui filtrar da forma que desejo mas não conseguir fazer a quantidade de cada item duplicado.
Fico no aguardo de qualquer ajuda.
Obrigado.
É o seguinte, tenho uma tabela da forma abaixo:
ProdutoTipoCor
FEIJAO ABRANCO
FEIJAO ABRANCO
FEIJAO ABRANCO
FEIJAO BPRETO
ARROZ ABRANCO
ARROZ BBRANCO
ARROZ BBRANCO
Queria que Filtrar esta informações para serem exibidas da forma abaixo:
ProdutoTipoCorQuantidade
FEIJAO ABRANCO 3
FEIJAO BPRETO 1
ARROZ ABRANCO 1
ARROZ BBRANCO 2
Obs.: A tabela seria igual a anterior sendo eliminado apenas as duplicidades, e somando os campos que forem duplicados.
Com o código abaixo consegui filtrar da forma que desejo mas não conseguir fazer a quantidade de cada item duplicado.
DataModule1.QueryAtendimentos.Close; DataModule1.QueryAtendimentos.SQL.Clear; DataModule1.QueryAtendimentos.SQL.Add(´SELECT distinct Produto, Tipo, Cor´); DataModule1.QueryAtendimentos.SQL.Add(´FROM Atendimento´); DataModule1.QueryAtendimentos.Open;
Fico no aguardo de qualquer ajuda.
Obrigado.
Ranyeryfip
Curtidas 0
Respostas
Dbergkamps10
22/02/2009
Olá,
Vc terá que fazer o seguinte: combine os campos Produto e Tipo num só (ex. ProdTp), via sql, só que não sei como.... :roll: :roll: :roll: :roll: :roll: :roll:
Depois a sua Sql deve ficar assim:
Espero ter ajudado.
Att
Dalton.
Vc terá que fazer o seguinte: combine os campos Produto e Tipo num só (ex. ProdTp), via sql, só que não sei como.... :roll: :roll: :roll: :roll: :roll: :roll:
Depois a sua Sql deve ficar assim:
DataModule1.QueryAtendimentos.SQL.Add(´SELECT Produto, Tipo, Cor, PrdTp, Count(PrdTp´); DataModule1.QueryAtendimentos.SQL.Add(´FROM Atendimento´); DataModule1.QueryAtendimentos.SQL.Add(´Group by PrdTp´);
Espero ter ajudado.
Att
Dalton.
GOSTEI 0
Ranyeryfip
22/02/2009
Dalton muito obrigado pela ajuda, mas também não sei combinar as duas tabelas, estou começando agora com SQL sempre usei o FILTER da table.
Se alguém poder dar outra díca fico agradecido.
VLW.
Se alguém poder dar outra díca fico agradecido.
VLW.
GOSTEI 0
Paullsoftware
22/02/2009
vou te dar um exemplo usando uma tabela do meu banco blz?
nesse caso deve-se usar as funções
[b:83c2c89e6b]left join [/b:83c2c89e6b]para fazer relacionamento entre as tabelas
[b:83c2c89e6b]count[/b:83c2c89e6b] para contar o total de itens dentro da coluna
[b:83c2c89e6b]where[/b:83c2c89e6b] para se fazer um filtro
[b:83c2c89e6b]group by [/b:83c2c89e6b]para agrupar as colunas de mesmo conteúdo
aqui pego os dados de duas tabelas
mais pelos campos que você mostrou pode ser feito mais ou menos assim:
nesse caso deve-se usar as funções
[b:83c2c89e6b]left join [/b:83c2c89e6b]para fazer relacionamento entre as tabelas
[b:83c2c89e6b]count[/b:83c2c89e6b] para contar o total de itens dentro da coluna
[b:83c2c89e6b]where[/b:83c2c89e6b] para se fazer um filtro
[b:83c2c89e6b]group by [/b:83c2c89e6b]para agrupar as colunas de mesmo conteúdo
aqui pego os dados de duas tabelas
select loc.locatario as Cliente, count(det.cod_filme) as Locacoes from locacao loc
left join detlocacao det on(det.codlocacao=loc.codlocacao)
where loc.codcliente=:CodCliente
group by loc.locatario
mais pelos campos que você mostrou pode ser feito mais ou menos assim:
select PRODUTO, TIPO, COR, COUNT(QUANTIDADE) AS QUANTIDADE from ATENDIMENTO
where CODPRODUTO>0 /* A FUNÇÃO WHERE É OBRIGATÓRIA SE TRATANDO DE AGRUPAMENTO,
NESTE CASO ESTOU FILTRANDO TODOS OS CODIGOS QUE FOREM MAIOR QUE ZERO*/
group by PRODUTO, TIPO, COR
order by PRODUTO
GOSTEI 0
Ranyeryfip
22/02/2009
paullsoftware muito obrigado pela dica, funcionou perfeitamente.
Vlw.
Vlw.
GOSTEI 0
Paullsoftware
22/02/2009
Precisando estamos ai! :roll:
GOSTEI 0