Dear folks,
Please take a look at my query below. This is a sample query with only 6 columns but my actual query has about 70 columns. Basically I need to be able to suppress those rows where numerical values are zeros across a row. But even if one column has a value greater than zero, I need that row. Is there any better way to do it or this is the only way to do it? I am just trying to avoid creating a big WHERE clause with all fields in there. Kind regards.
with my_table as (
Select 'A' as org, 12 as val_1, 13 as val_2, 14 as val_3, 40 as val_4, 100 as val_5 from dual
union all
Select 'b' as org, 12 as val_1, 13 as val_2, 14 as val_3, 40 as val_4, 100 as val_5 from dual
union all
Select 'c' as org, 12 as val_1, 13 as val_2, 14 as val_3, 40 as val_4, 100 as val_5 from dual
union all
Select 'A' as org, 0 as val_1, 0 as val_2, 0 as val_3, 0 as val_4, 0 as val_5 from dual)
select * from my_table
where
( val_1 != 0 And val_2 != 0 and val_3 != 0 and val_4 != 0 and val_5 != 0)