I would like to create a stored procedure with parameters that indicate which fields should be selected.
E.g. I would like to pass two parameters "selectField1" and "selectField2" each as bools.
Then I want something like
SELECT if (selectField1 = true) Field1 ELSE do not select Field1 if (selectField2 = true) Field2 ELSE do not select Field2 FROM Table
Thanks Karl
You can specify a condition by typing the column name, then a comparison operator, then a number or string. The most common comparison operators are: >, <, >=, <=, =, and != . You can filter to see only results where multiple conditions are true by combining them with an AND operator.
It is like a Shorthand form of CASE statement. We can conveniently use it when we need to decide between two options. There are three parts in IIF statement, first is a condition, second is a value if the condition is true and the last part is a value if the condition is false.
In SQL
, you do it this way:
SELECT CASE WHEN @selectField1 = 1 THEN Field1 ELSE NULL END, CASE WHEN @selectField2 = 1 THEN Field2 ELSE NULL END FROM Table
Relational model does not imply dynamic field count.
Instead, if you are not interested in a field value, you just select a NULL
instead and parse it on the client.
You want the CASE
statement:
SELECT CASE WHEN @SelectField1 = 1 THEN Field1 WHEN @SelectField2 = 1 THEN Field2 ELSE NULL END AS NewField FROM Table
EDIT: My example is for combining the two fields into one field, depending on the parameters supplied. It is a one-or-neither solution (not both). If you want the possibility of having both fields in the output, use Quassnoi's solution.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With