Array
(
)

select pelo nome da coluna

Carlos_tedex
   - 31 dez 2008

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

#Código

select * from PRODUTOS
ou
#Código
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 order by 3 (ordena pela coluna 3 que no exemplo acima é o campo PRD_VALOR)

tentei isso mas sem resultados:
#Código
select 3 from PRODUTOS


Daykas
   - 07 jan 2009

Prezado! Bom dia.

Substitua o 3 pelo nome da coluna.

Carlos_tedex
   - 09 jan 2009


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

Emerson
   - 12 jan 2009

acho que só dá pra fazer assim:
#Código

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)


Emerson
   - 12 jan 2009

complementando...

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

Carlos_tedex
   - 12 jan 2009


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