si estas trabajando con sql server
podrias crear un procedimiento almacenado...
en el seleccionar el registro que deseas...
y luego evaluando el valor de los campos construir una tabla temporal con los campos que tienen valor > 0 ....
al final solo seria un select * from <tabla_temporal>
como ves?