Zní to, jako byste chtěli něco jako
SELECT least( (case when col1 is null or col1 = 0 then 999999999 else col1 end),
(case when col2 is null or col2 = 0 then 999999999 else col2 end),
(case when col3 is null or col3 = 0 then 999999999 else col3 end) )
FROM <<table name>>
kde 999999999 je nějaká číselná hodnota, která je dostatečně velká, aby byla vždy větší než jakákoli jiná platná hodnota. Pokud je možné, že všechny tři sloupce budou mít NULL
nebo 0 hodnot, pak pravděpodobně budete chtít přidat další kontrolu, že pokud je výsledek least
funkce je 999999999, vrátíte 0 nebo NULL
nebo cokoli jiného, co dává smysl.
@X-Zero byl tak laskav a dal dohromady funkční příklad SQL Fiddle
tohoto konstruktu. Všimněte si, že jeho příklad odfiltruje řádky, kde všechny tři sloupce mají buď NULL
nebo 0 hodnot.