say I have a table like this:
table messages
id | show_message | message
3 | false | "some message"
4 | true | "another message"
I want to only select the message column if show_message
column is true, but I also want to select the show message column either way. Would a subquery be suitable in the scenario? I feel like I'm overthinking this. I'm using Postgres 9.5
How about a simple case?
This will put a
NULL
value in themessage
column in the result set for messages that are not shown.SQL queries return a fixed set of columns. So, this is the best you can do with a single query. If you really want a result set that sometimes has two columns and sometimes has three, then some sort of conditional logic or dynamic SQL would be needed.