Array
(
)

Select meio louco

Pjava
   - 30 out 2012

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.

Claudiadnh
   - 30 out 2012

Tenta assim:
#Código

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

Jair A.n.
   - 31 out 2012

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...}

Citaçã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.

Pjava
   - 31 out 2012

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.

Claudiadnh
   - 31 out 2012

Que erro que deu?

Citação:
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.

Jair A.n.
   - 31 out 2012

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...

Citação:
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.

Pjava
   - 31 out 2012

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

Claudiadnh
   - 31 out 2012

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.

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