sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo establecer una fila predeterminada para una consulta que no devuelve filas?

Un enfoque para Oracle:

SELECT val
FROM myTable
UNION ALL
SELECT 'DEFAULT'
FROM dual
WHERE NOT EXISTS (SELECT * FROM myTable)

O alternativamente en Oracle:

SELECT NVL(MIN(val), 'DEFAULT')
FROM myTable

O alternativamente en SqlServer:

SELECT ISNULL(MIN(val), 'DEFAULT')
FROM myTable

Estos utilizan el hecho de que MIN() devuelve NULL cuando no hay filas.