Using parameter as column name in Redash

149 Views Asked by At

In Redash, is there a way to use a parameter as a column name in the query. I tried this but it doesn't work:

SELECT CASE
    WHEN {{ Parameter }} = "Label Column 1" THEN COLUMN_1
    WHEN {{ Parameter }} = "Label Column 2" THEN COLUMN_2
    ELSE COLUMN_3
END
FROM MY_TABLE
WHERE ...;
1

There are 1 best solutions below

1
Dileep Kare On

You can try something like below in Sql Server:

DECLARE @SQL VARCHAR(MAX)

SELECT @SQL='SELECT CASE
    WHEN '+CAST(@PARAMETER AS varchar(50))+' = ''Label Column 1'' THEN COLUMN_1
    WHEN '+CAST(@PARAMETER AS varchar(50))+' = ''Label Column 2'' THEN COLUMN_2
    ELSE COLUMN_3
END
FROM MY_TABLE
WHERE ...;'

EXECUTE SP_EXECUTESQL @SQL