Constructing dynamic columns from parameters in Sybase
        Posted  
        
            by Chapax
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Chapax
        
        
        
        Published on 2010-03-17T15:01:01Z
        Indexed on 
            2010/03/19
            17:51 UTC
        
        
        Read the original article
        Hit count: 583
        
sybase
Hi, I'm trying to write a stored proc (SP) in Sybase.
The SP takes 5 varchar parameters.
Based on the parameters passed, I want to construct the column names to be selected from a particular table.
The below works:
DECLARE @TEST VARCHAR(50) SELECT @TEST = "country" --print @TEST
execute("SELECT DISTINCT id_country AS id_level, Country AS nm_level FROM tempdb..tbl_books INNER JOIN (tbl_ch2_bespoke_report INNER JOIN tbl_ch2_bespoke_rpt_mapping ON tbl_ch2_bespoke_report.id_report = tbl_ch2_bespoke_rpt_mapping.id_report) ON id_" + @TEST + "= tbl_ch2_bespoke_rpt_mapping.id_pnl_level WHERE tbl_ch2_bespoke_report.id_report = 14")
but gives me multiple results:
1 1 row(s) affected.
id_level    nm_level       
1   4376    XYZ
2   4340    ABC
I would like to however only obtain the 2nd result.
Do I need to necessarily use dynamic SQL to achieve this?
Many thanks for your help.
--Chapax
© Stack Overflow or respective owner