Jedno podejście dla Oracle:
SELECT val
FROM myTable
UNION ALL
SELECT 'DEFAULT'
FROM dual
WHERE NOT EXISTS (SELECT * FROM myTable)
Lub alternatywnie w Oracle:
SELECT NVL(MIN(val), 'DEFAULT')
FROM myTable
Lub alternatywnie w SqlServer:
SELECT ISNULL(MIN(val), 'DEFAULT')
FROM myTable
Wykorzystują one fakt, że MIN()
zwraca NULL
gdy nie ma wierszy.