I need to fetch the data in this table based on the section_id. for a section id, only one column of the data will be available. I need to fetch only the column which has data.
- if I pass the section_id = 43, it should return only the (id,section_id,genre_id,created_at,created_by )
- if I pass the section_id = 51, it should return only the (id,section_id,performer_id,created_at,created_by )
How to create a query for this on PostgreSQL ?
Assuming that only the
performer_id column would have non null data, you should be able to simply use
SELECT id, section_id, COALESCE(genre_id, performer_id), created_at, created_by FROM yourTable ORDER BY 2, 3;