La verdad que sigues ahogándote en un dedal, que ahora se redujo a una gota de agua...
Si ambas consultas son estructuralmente iguales, con la sola diferencia de un campo al inicio de la primera... ¿no te parece que todo se resuelve
agregando esa columna en la segunda consulta?
Algo como:
Código SQL:
Ver originalSELECT *
FROM
(SELECT
cantidad,
item,
VO.codigo codigovolcan,
VO.nombre nombrevolcan,
VO.alias,
codigo_observatorio,
tipo_estacion.codigo codigotipoestacion,
tipo_estacion.nombre nombreestacion,
AR.nombre nombrearea,
AR.codigo codigoarea,
0 TotalTelem,
0 TotalNoTelem
FROM
volcan VO
INNER JOIN inv_est_instaladas INEI ON VO.codigo = INEI.codigo_volcan
INNER JOIN conectividad_inv_estaciones COIE ON IEI.item = COIE.item_inv_est_instaladas
INNER JOIN tipo_estacion TIE ON IEI.codigo_tipo_estacion = TIE.codigo
INNER JOIN area AR ON TE.codigo_area = AR.codigo
WHERE
VO.codigo_observatorio = :obsevatorio
ORDER BY AR.codigo, TIE.codigo, VO.codigo) T1
UNION ALL
SELECT *
FROM (
SELECT
0 cantidad, -- Aqui pones el valor que quieras, cero (0) o uno (1)
item,
V.codigo codigovolcan,
V.nombre nombrevolcan,
V.alias,
codigo_observatorio,
TE.codigo codigotipoestacion,
TE.nombre nombreestacion,
A.nombre nombrearea,
A.codigo codigoarea,
0 TotalTelem,
0 TotalNoTelem
FROM
volcan V
INNER JOIN inv_est_instaladas IEI ON V.codigo = IEI.codigo_volcan
INNER JOIN conectividad_inv_estaciones CIE ON IEI.item = CIE.item_inv_est_instaladas
INNER JOIN tipo_estacion TE ON IEI.codigo_tipo_estacion = TE.codigo
INNER JOIN area A ON TE.codigo_area = A.codigo
WHERE
V.código_observatorio = 'ovsm'
AND TE.suma = 't'
AND CIE.item_conectividad = 1
ORDER BY A.codigo, TE.codigo, V.codigo) T2