I want to have a select that will not have fixed number of columns.
Column OptionalColumn
should be selected only if variable @check = 1
This is what I had (syntax is bad but maybe it explains my problem)
SELECT Column1, Column2, (IF @Check = 1 BEGIN OptionalColumn END) FROM table
It is crucial to have it only if @Check = 1 and not having it if @Check = 0. Is it doable?
Advertisement
Answer
You could do this with an IF ELSE block like this;
CREATE TABLE #table (Column1 varchar(10), Column2 varchar(10)) INSERT INTO #table VALUES ('column1', 'column2') DECLARE @Check bit; SET @Check = 0 IF @Check = 1 (SELECT Column1, Column2 FROM #table) ELSE (SELECT Column1 FROM #table)
Change the variable from 0 to 1 for testing to see the change in number of columns.