Fórum Consulta com coluna com valores sequanciais #49915

18/03/2005

0

tenho uma consulta e preciso criar uma coluna (apenas na consulta, não tem na tabela) que exiba valores sequenciais começando do 1 (ou seja, a 1º linha tenha o valor 1, a 2º o valor 2, e assim em diante).

Como faço para exibir valores sequenciais em uma coluna?


Raserafim

Raserafim

Responder

Posts

19/03/2005

Fsflorencio

Pensei em três modos de se fazer isto:

1 - Use um campo calculado no Delphi.

2 - Use um Generator para a coluna que vc quer repetir, mas vc tem que zerar o generator antes de abrir a consulta, pois ele acumula. A solução do Generator costuma não funcionar às vezes quando se tem mais de uma tabela no select.

3 - Outra solução ainda pode ser utilizar uma stored procedure pra fazer isto.


Responder

Gostei + 0

19/03/2005

Raserafim

a segunda e terceira opção não dá certo pois não tenho um campo na tabela, esse ´contador´ é apenas na consulta.
Mas a primeira opção dá pra resolver a situação, pois posso criar um campo callculado e atribuir o valor da property RecNo a esse campo. Blz.
Porém vai ter uma situação que vou precisar repetir algum numero do contador. (ex: 1,2,3,3,3,4,5...). Alguma solução na cabeça para este problema?


Responder

Gostei + 0

21/03/2005

Fsflorencio

Pra resolver isto, precisaria de mais detalhes sobre esta situação, mas de antemão já digo que não é necessário criar um campo para isto se vc preferir utilizar as primeiras opções. Se vc criar um stored procedure selecionável (destas que retornam valores) vc teria mais maleabilidade em produzir este contador.
Se vc detalhar mais o problema, quem sabe a gente não descobre uma forma mais interessante de resolver isto?!


Responder

Gostei + 0

01/04/2005

Raserafim

fsflorencio, agora realmente tenho q encontrar uma solu~c´ao para faer uma coluna sequencial na consulta. O meu problema é idêntico a um ranking, onde preciso exibir uma coluna com a posição e outra com o nome da pessoa.
O que preciso é que a coluna da posição seja gerada uma sequência de números (1º, 2º, 3º,...) de acordo com a ordem dos nomes.


Responder

Gostei + 0

02/04/2005

Gandalf.nho

Eu algumas vezes precisei disso em relatórios, eu resolvi declarando uma variável Integer na seção private do form e incrementando-a via código a cada novo registro (no caso do QuickReport eu uso o evento BeforePrint da banda)


Responder

Gostei + 0

02/04/2005

Raserafim

gandalf, pelo delphi eu tb consegui resolver isso, utilizei um campo calculado e atribui o valor da propriedade RecNo (que é o número da linha). Mas agora eu tô precisando fazer isso diretamente na consulta.


Responder

Gostei + 0

02/04/2005

Afarias

Uma [boa] solução é usar um Stored Proc para isso



T+


Responder

Gostei + 0

26/07/2006

Steve_narancic

E teria alguma forma de fazer isto dentro de uma instrução SQL?


Responder

Gostei + 0

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

Aceitar