SELECT CASE WHEN record.is_public = 'Yes' THEN 'public' WHEN EXISTS ( SELECT 1 FROM permissions WHERE permissions.rec_id = record.id AND user_id = $user_id ) THEN 'accessible' ELSE 'private' END AS viewable, record.id, record.display_name FROM record WHERE record.id = $rec_id; # or other criteria