Ir para conteúdo
Fórum Script Brasil
  • 0

Distinct não funciona


Vivendo&Aprendendo

Pergunta

Olá pessoal estou usando uma sql para busca, ela esta funcionando certinho, mas o distinct não esta fazendo nada, quem puder me ajudar.

DmDados.Saidas.Close;
     DmDados.Saidas.SQL.Clear;
     DmDados.Saidas.SQL.Add('SELECT Distinct(ItensSaidas.CodigoSaidas), Saidas.Codigo, Saidas.DataSaida,');
     DmDados.Saidas.SQL.Add('Saidas.NPedido, Saidas.CodCliente, Saidas.Cliente, Saidas.FormaPgto, Saidas.TipoPgto,');
     DmDados.Saidas.SQL.Add('Saidas.DataVencimento, Saidas.ValorRecebido, Saidas.Desconto, Saidas.Troco,');
     DmDados.Saidas.SQL.Add('Saidas.ValorTotalNF, Saidas.TotalItens,');
     DmDados.Saidas.SQL.Add('ItensSaidas.CodigoSaidas, ItensSaidas.CodProduto, ItensSaidas.Descricao,');
     DmDados.Saidas.SQL.Add('ItensSaidas.Qtde, ItensSaidas.Placa, ItensSaidas.LocalPlaca, ItensSaidas.Cidade,');
     DmDados.Saidas.SQL.Add('ItensSaidas.ValorUnit, ItensSaidas.ValorTotalProduto');
     DmDados.Saidas.SQL.Add('FROM Saidas INNER JOIN ItensSaidas ON Saidas.Codigo = ItensSaidas.CodigoSaidas');
     DmDados.Saidas.SQL.Add('Where NPedido Like :pNPed ');
     DmDados.Saidas.SQL.Add('Order By Codigo');
     DmDados.Saidas.Parameters[0].Value := EdtBusca.Text + '%';
     DmDados.Saidas.Open;

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Oi, 'Vivendo&Aprendendo', qual banco você usa?

Por padrão (ANSI) o SQL DISTINCT só funciona se todas as linhas (todas as colunas) retornarem valores iguais.

Link para o comentário
Compartilhar em outros sites

  • 0
Olá Denis Courcy!

Eu utilizo o access, e todas as linhas e colunas são identicas... mas ele esta me retornando 3 linhas iguais, que relamente existem, mas que quero apenas uma...

Alexandre

Oi, Alexandre!

Criei uma tabela com 3 linhas iguais cada campo com um tipo diferente. A consulta retornou 1 linha como esperado.

Alterei o valor do campo3 do último registro e ele retornou 2 linhas como esperado (pois o conteúdo dos registros nos 3 campos não eram iguais). suprimi o campo 3 da minha consulta (somente da consulta. o campo3 no 3o. registro ainda está com valor diferente) retornou apenas 1 linha como esperado.

Com base no descrito acima, concluo que o SQL que você utilizou não foi compreendido pelo access. (Uso o MS office 2000).

Faça o teste em seu access com a sintaxe abaixo. ( a mesma que utilizei) e informe o resultado:

SELECT DISTINCT Tabela1.campo1, Tabela1.campo2, Tabela1.campo3
FROM Tabela1;

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...