Select SEM REPETIÇÕES

 Tópico anterior Próximo tópico Novo tópico

Select SEM REPETIÇÕES

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#490020 - 15/08/2019 14:15:11

NOWLIGHTS
SUMARE
Cadast. em:Abril/2011


Última edição em 15/08/2019 14:23:38 por NOWLIGHTS

    
Boa tarde,
Precisava fazer um select no banco de dados sem repetição... segue ex:


Id        IdProd    IdLot     Prod
1              1          1    Produto01
2              1          1    Protudo02
3              1          2    Produto01
4              2          1    Produto01
5              2          2    Produto01
6              1          2   Produto02


O select deveria retornar o apenas o ultimo valor de cada IdProd, o ultimo IdLot e ultimo Prod ex:

Id          IdProd      IdLot   Prod
6               1              2      Produto02
5               2              2      Produto01              


__________________________________
- Everyone has a chance


#490022 - 15/08/2019 14:37:29

NOWLIGHTS
SUMARE
Cadast. em:Abril/2011


Última edição em 15/08/2019 14:38:11 por NOWLIGHTS

A solução que eu encontrei é fazer dois Selects;

1º Select:

  SELECT * FROM Produtos GROUP BY IdProd;


o resultado jogo dentro de uma list<t> que no Foreach, e depois o segundo select para cara item do list<t>:

  SELECT * FROM Produtos WHERE IdProd='1' ORDER BY IdProd DESC LIMIT 1;



__________________________________
- Everyone has a chance


#490023 - 15/08/2019 14:39:27

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Distinct e Order By. Como o que quero é ajudar à melhorar seu conhecimento, o melhor é passer a documentação do que você precisa do que comandos prontos.

_______________________________________________________________________
Virei Oráculo!
The end is nigh, be ready for the nukes!


#490026 - 15/08/2019 15:14:41

NOWLIGHTS
SUMARE
Cadast. em:Abril/2011


Última edição em 15/08/2019 15:15:35 por NOWLIGHTS

Se eu coloco o Distinct IdProd retorna somente a coluna IdProd sem repetições de fato, porém como retornaria o ultimo lote e o ultimo produto com order by


__________________________________
- Everyone has a chance


#490027 - 15/08/2019 15:28:20

FABRICIOWEB
BELO HORIZONTE
Cadast. em:Novembro/2011



SELECT DISTINCT IdProd , MAX(IdLot)
FROM Produtos
GROUP BY IdProd  
ORDER BY MAX(IdLot) DESC, IdProd

acho que seria mais ou menos isso



#490028 - 15/08/2019 15:46:36

NOWLIGHTS
SUMARE
Cadast. em:Abril/2011


Última edição em 15/08/2019 15:49:47 por NOWLIGHTS

Eu fiz assim;

  SELECT DISTINCT MAX(Id), IdProd, MAX(IdLot), MAX(Prod) FROM Produtos GROUP BY IdProd ORDER BY Prod DESC;


Retorna tudo certo, porém Prod retorna Produto1 se eu tirar o MAX e se o colocar, retorna, pelo que eu entendi, apenas até o Produto9

IdProd não duplica, retorna o ultimo IdLot porém Prod não retorna os últimos produtos


__________________________________
- Everyone has a chance


#490029 - 15/08/2019 15:57:33

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Você chegou a ler a documentação do Dinstinct que passei no começo?

_______________________________________________________________________
Virei Oráculo!
The end is nigh, be ready for the nukes!


#490030 - 15/08/2019 15:59:48

NOWLIGHTS
SUMARE
Cadast. em:Abril/2011


Ele retorna valores diferentes das colunas especificadas desde que todas as linhas seja iguais

__________________________________
- Everyone has a chance


#490031 - 15/08/2019 16:01:24

NOWLIGHTS
SUMARE
Cadast. em:Abril/2011


mas por exemplo, IdLot vai repetir, quero que apenas IdProd não repita e Prod pode vir a repetir



__________________________________
- Everyone has a chance


Resposta escolhida #490032 - 15/08/2019 17:24:03

ELUCIMAR
GOIANIA
Cadast. em:Dezembro/2003


NOWLIGHTS

Veja se é isso:

Select
T1.Id,
T1.IdProd,
T2.IdLot,
T2.Prod
From
(
    Select
    Max(Id) Id,
    IdProd
    From Produtos
    Group By
    IdProd,
    IdProd
) T1
Inner Join Produtos T2
On T1.Id = T2.Id
And T1.IdProd = T2.IdProd
Order By T1.IdProd

Obs: Testei e retornou os registros que você colocou no exemplo acima.

E.A.M

Cursos de Excel e VB6:
    www.cursoexcelvba.com.br


#490033 - 15/08/2019 19:25:50

NOWLIGHTS
SUMARE
Cadast. em:Abril/2011


É tudo uma unica tabela

__________________________________
- Everyone has a chance


 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por NOWLIGHTS em 19/08/2019 15:33:48