Oracle - Duda sobre consulta en Oracle

 
Vista:

Duda sobre consulta en Oracle

Publicado por danietepa (1 intervención) el 17/05/2017 20:21:32
Buenas, tengo una duda, creo que no es complicada de resolver pero no doy con la tecla:

Buenas,

Estoy con una consulta y seguramente sea alguna tontería pero no doy con la tecla:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
SELECT
  cv2.tx_value SERVICIO_NOMBRE,
  cv3.tx_value SERVICIO_DESCRIPCION,
  (select tx_value from cmdb_value where nu_fkci in (select id_ci from cmdb_ci c where nu_fknameci=9 and c.id_ci = c1.id_ci)
   and nu_fkdefattributenameci=68) ATTR_NOMBRE_SERVICIO,
    (select tx_value from cmdb_value where nu_fkci in (select id_ci from cmdb_ci c where nu_fknameci=9)
   and nu_fkdefattributenameci=70) ELEMENTO
FROM
  cmdb_ci c1
  left outer join cmdb_relationinstance ri on c1.id_ci = ri.nu_fkciend and ri.NU_FKRELATION = 6
  and ri.FH_DROPDATE is null
  left outer join cmdb_value cv on ri.NU_FKCIORIGIN = cv.NU_FKCI
  left outer  join CMDB_DEFATTRIBUTENAMECI da on cv.nu_fkdefattributenameci = da.id_defattributenameci
  left outer join cmdb_value cv2 on ri.NU_FKCIORIGIN = cv2.NU_FKCI
  left outer  join CMDB_DEFATTRIBUTENAMECI da2 on cv2.nu_fkdefattributenameci = da2.id_defattributenameci
  left outer join cmdb_value cv3 on ri.NU_FKCIORIGIN = cv3.NU_FKCI
  left outer  join CMDB_DEFATTRIBUTENAMECI da3 on cv3.nu_fkdefattributenameci = da3.id_defattributenameci
  left outer join cmdb_value cv4 on ri.NU_FKCIORIGIN = cv4.NU_FKCI
  left outer  join CMDB_DEFATTRIBUTENAMECI da4 on cv4.nu_fkdefattributenameci = da4.id_defattributenameci
 
 --left outer  join CMDB_DEFATTRIBUTE DA ON DA.ID_DEFATTRIBUTE=da5.NU_FKDEFATTRIBUTE
where  c1.nu_fknameci=9
    and (da.nu_fkdefattribute =1 or da.nu_fkdefattribute is null)
    and (da2.nu_fkdefattribute =2 or da2.nu_fkdefattribute is null)
    and (da3.nu_fkdefattribute =3 or da3.nu_fkdefattribute is null)
    and (da4.nu_fkdefattribute =81 or da4.nu_fkdefattribute is null)
   --and (da5.nu_fkdefattribute=90 or da5.nu_fkdefattribute is null)
order by 1;

El problema es con la consulta del select:

(select tx_value from cmdb_value where nu_fkci in (select id_ci from cmdb_ci c where nu_fknameci=9)
and nu_fkdefattributenameci=70) ELEMENTO


que me dice que la subconsulta devuelve más de un elemento.

Se os ocurre alguna forma de solucionarlo rápidamente ?

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Elvis
Val: 209
Plata
Ha mantenido su posición en Oracle (en relación al último mes)
Gráfica de Oracle

Duda sobre consulta en Oracle

Publicado por Elvis (102 intervenciones) el 18/05/2017 20:35:10
Colocale un distinct : select tx_value from cmdb_value where nu_fkci in (select distinct id_ci from cmdb_ci c where nu_fknameci=9)
and nu_fkdefattributenameci=70
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar