No conozco las posibilidades de Interbase 6, pero con Firebird 2 y sus extensiones, lo tendrías resuelto fácilmente.
Por ejemplo con
COALESCE
Cita:
Function:
Allow a column value to be calculated by a number of expressions,
the first expression returning a non NULL value is returned as the
column value
|
Yo habitualmente, si no tengo claro como armar un query, recurro a un Stored Procedure y soluciono el problema.