Select meio louco

30/10/2012

0

Tenho uma tabela com vários campos, mas quero destacar os seguintes:

IDPassos, IDOrigem e DEscricaoCateg.

IDPassos é PK e claro ele não repete. Mas origem sim, então eu posso ter o seguinte:

Passos Origem Descricao

1.............1...........Teste

2.............1...........Teste2

3.............1...........Teste3

4.............2..........Outra Coisa

5............2...........Outra Coisa2

O que eu quero é o seguinte. Fazer um select que me traga o IDPassos de menor valor, pois essa é a forma de entender que esse é o passo iniciante, logo nesse select deveria trazer o IDPasso 1 e 4 apenas. Não sei como eu faço isso.
Pjava

Pjava

Responder

Posts

30/10/2012

Claudia Nogueira

Tenta assim:
SELECT t.idpassos, t.idorigem, te.descricaocateg
FROM
(SELECT MIN(idpassos) AS idpassos, idorigem
  FROM tabela
 GROUP BY 2) t, tabela te
WHERE t.idpassos = te.idpassos
Responder

31/10/2012

Jair N.

Bom Dia, para começar só vou te perguntar o resultado deste exemplo seria pela descrição "teste" e "outra coisa"? se for essa a situação, veja este exemplo abaixo:

SELECT my_teste.*
FROM (SELECT tab_texte.*
, RANK() OVER (PARTITION BY tab_texte.idorigem ORDER BY tab_texte.idpassos) AS ranking
FROM dbo.tab_texte
) my_teste
WHERE (my_teste.ranking = 1)
-- ORDER BY my_teste.ranking DESC { 31OUT2012 Não será necessário a classificação...}

Tenho uma tabela com vários campos, mas quero destacar os seguintes:

IDPassos, IDOrigem e DEscricaoCateg.

IDPassos é PK e claro ele não repete. Mas origem sim, então eu posso ter o seguinte:

Passos Origem Descricao

1.............1...........Teste

2.............1...........Teste2

3.............1...........Teste3

4.............2..........Outra Coisa

5............2...........Outra Coisa2

O que eu quero é o seguinte. Fazer um select que me traga o IDPassos de menor valor, pois essa é a forma de entender que esse é o passo iniciante, logo nesse select deveria trazer o IDPasso 1 e 4 apenas. Não sei como eu faço isso.
Responder

31/10/2012

Pjava

Não consegui rodar ainda o que a claudia me enviou. Jair, o que eu quero é trazer sempre o menor IDPassos, conforme post. Sempre o menor. Eu vou ter nessa tabela milhares de idpassos, e preciso trazer sempre o menor deles, sempre. Porque o menor IDPassos é o passo iniciante e é isso que eu preciso.
Responder

31/10/2012

Claudia Nogueira

Que erro que deu?

Não consegui rodar ainda o que a claudia me enviou. Jair, o que eu quero é trazer sempre o menor IDPassos, conforme post. Sempre o menor. Eu vou ter nessa tabela milhares de idpassos, e preciso trazer sempre o menor deles, sempre. Porque o menor IDPassos é o passo iniciante e é isso que eu preciso.
Responder

31/10/2012

Jair N.

Sim, eu entendi o enunciado do problema. Voce testou o exemplo que enviei? Só terá que alterar o nome da tabela (tab_teste) que não sei qual é a sua. Como eu disse "de acordo com o exemplo fornecido" o "menor item da IDPassos" seria, demonstrado pela descrição deste: "teste" e "outra coisa". Agora, se caso, terá mais itens, não faz parte do exemplo exposto. Em teste veja o que foi enviado... verifique... Olha principalmente a ordem no campo RANKING que é pelo menor item do IDPAssos em relação ao IDOrigem...


Não consegui rodar ainda o que a claudia me enviou. Jair, o que eu quero é trazer sempre o menor IDPassos, conforme post. Sempre o menor. Eu vou ter nessa tabela milhares de idpassos, e preciso trazer sempre o menor deles, sempre. Porque o menor IDPassos é o passo iniciante e é isso que eu preciso.
Responder

31/10/2012

Pjava

Ok, eu ainda não testei porque não estou no trampo. Assim que estiver lá vou testar e posto qualquer novidade.
Responder

31/10/2012

Claudia Nogueira

A tá entendi. É que antes de enviar eu testei. Criei uma tabela com os campos mencionados e também inseri as informações, e com o SELECT que eu te enviei mostrou exatamente o que você precisava.

Ok, eu ainda não testei porque não estou no trampo. Assim que estiver lá vou testar e posto qualquer novidade.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar