select pelo nome da coluna

SQL Server

31/12/2008

Estou precisando fazer um select em uma tabela do SQL SERVER 2005 mas nao quero usar os seguintes comandos:

select * from PRODUTOS
ou
select PRD_CODIGO, PRD_NOME, PRD_VALOR, PRD_MARCA, PRD_OBS from PRODUTOS


Na verdade o que eu preciso é fazer um select somente da coluna 3 por exemplo... parecido com o [b:acbff935e8]order by 3[/b:acbff935e8] (ordena pela coluna 3 que no exemplo acima é o campo [b:acbff935e8]PRD_VALOR[/b:acbff935e8])

tentei isso mas sem resultados:
select 3 from PRODUTOS



Carlos_tedex

Carlos_tedex

Curtidas 0

Respostas

Daykas

Daykas

31/12/2008

Prezado! Bom dia.

Substitua o 3 pelo nome da coluna.


GOSTEI 0
Carlos_tedex

Carlos_tedex

31/12/2008

Substitua o 3 pelo nome da coluna.


Amigo acho que vc não entendeu direito... o que eu preciso é justamente fazer um select via SQL pelo indice do campo e nao pelo nome do campo...

Postei essa mesma duvida em outro forum caso queira dar uma olhada...

http://www.activedelphi.com.br/forum/viewtopic.php?t=45295&sid=2f1689642a15a36624209fd4fdc41d5f


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

31/12/2008

acho que só dá pra fazer assim:
declare @coluna varchar(255)
declare @tabela varchar(255)
declare @colid int

set @colid = 1
set @tabela = ´cliente´

select @coluna = ltrim(rtrim(sc.name))
from sysobjects so
inner join syscolumns sc on (sc.id = so.id)
where so.name = @tabela and sc.colid = @colid

exec(´select ´+@coluna+´ from ´+@tabela)



GOSTEI 0
Emerson Nascimento

Emerson Nascimento

31/12/2008

complementando...

basta trocar os valores de @colid e @tabela para obter o resultado desejado.


GOSTEI 0
Carlos_tedex

Carlos_tedex

31/12/2008

basta trocar os valores de @colid e @tabela para obter o resultado desejado.


BINGO!!!

Caro emerson.en, enfim alguem me respondeu o que eu queria... essa função ira me ajudar muito na minha logica cara... valew mesmo amigo!


GOSTEI 0
POSTAR