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)
x
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.