Use variable Column name in Select statement on SQL server 2008 -


i select value table using column name variable !

eg

declare @spalte varchar(10)  set @spalte = 'ecomp'  select @spalte dbo.matdata  2>= tmin , 2<=tmax , 1 = matcode 

when try 'ecomp' back, not expected value.

any idea?

information_schema meta data describing objects in database - isn't placeholder table.

if want return data table, then

select * dbo.matdata 2 >= tmin , 2<=tmax , 1 = matcode 

if want build query against table don't have schema for, need build dynamic sql query , call sp_executesql.

edit :

to select 1 column:

select eocomp dbo.matdata 2 >= tmin , 2<=tmax , 1 = matcode 

edit #2 :

your updated question doesn't bear resemblance original q, , you've accepted redfilter's answer.

to select dynamic column, need dynamic sql. can't call procs udf, , udfs should return standard type (if scalar) or table.

here's how sproc:

given

create table dbo.matdata (     column1 int,     column2 nvarchar(100),     column3 datetime,     tmin int,     tmax int,     matcode int ) 

and proc

create proc dbo.getcolumnfrommatdata(@spalte nvarchar(256))     begin         set nocount on         declare @sql nvarchar(max)         set @sql = 'select @spalte dbo.matdata 2>= tmin , 2<=tmax , 1 = matcode'         exec sp_executesql @sql, n'@spalte nvarchar(256)', @spalte=@spalte     end 

you can do

exec dbo.getcolumnfrommatdata 'column1' exec dbo.getcolumnfrommatdata 'column2' exec dbo.getcolumnfrommatdata 'column3' exec dbo.getcolumnfrommatdata 'tmax' 

etc

but it's pretty horrible, imho.


Comments

Popular posts from this blog

objective c - Change font of selected text in UITextView -

php - Accessing POST data in Facebook cavas app -

c# - Getting control value when switching a view as part of a multiview -