Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Resta de dos selects

Estas en el tema de Resta de dos selects en el foro de Oracle en Foros del Web. Estoy intentando restar el resultado de una select para hacer un update, en este caso me basta con que me devuelva el valor de la ...
  #1 (permalink)  
Antiguo 29/10/2009, 05:35
 
Fecha de Ingreso: octubre-2009
Mensajes: 2
Antigüedad: 14 años, 5 meses
Puntos: 0
Resta de dos selects

Estoy intentando restar el resultado de una select para hacer un update, en este caso me basta con que me devuelva el valor de la resta de ambas selects pero no lo consigo.

((SELECT QUOTA
FROM container
WHERE idcontainer =1) - (SELECT SUM ("SIZE")
FROM INSTANCE
WHERE idcontainer = 1));

Alguna idea ??
  #2 (permalink)  
Antiguo 29/10/2009, 07:50
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Resta de dos selects

Prueba asì:

Código sql:
Ver original
  1. SELECT (c.quota-i.tam) resta
  2. FROM (SELECT idcontainer,quota FROM container WHERE idcontainer=1) c
  3. INNER JOIN (SELECT idcontainer,SUM(tam) tam FROM instance
  4.  WHERE idcontainer=1 GROUP BY idcontainer)i
  5. ON c.idcontainer=i.idcontainer

seguro tienes un campo llamado size?
juraría que es una palabra reservada. En el ejemplo te lo pongo como tam.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Última edición por huesos52; 29/10/2009 a las 07:56
  #3 (permalink)  
Antiguo 29/10/2009, 08:57
 
Fecha de Ingreso: octubre-2009
Mensajes: 2
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Resta de dos selects

Cita:
Iniciado por huesos52 Ver Mensaje
Prueba asì:

Código sql:
Ver original
  1. SELECT (c.quota-i.tam) resta
  2. FROM (SELECT idcontainer,quota FROM container WHERE idcontainer=1) c
  3. INNER JOIN (SELECT idcontainer,SUM(tam) tam FROM instance
  4.  WHERE idcontainer=1 GROUP BY idcontainer)i
  5. ON c.idcontainer=i.idcontainer

seguro tienes un campo llamado size?
juraría que es una palabra reservada. En el ejemplo te lo pongo como tam.

saludos
Correcto es palabra reservada, pero poniendo las comillas listo. Ahora me funciona, pongo la query:
Código sql:
Ver original
  1. SELECT (c.QUOTA - i."SIZE") resta
  2.   FROM (SELECT idcontainer, QUOTA
  3.           FROM container
  4.          WHERE idcontainer = 1) c
  5.        INNER JOIN
  6.        (SELECT   idcontainer, SUM ("SIZE") "SIZE"
  7.             FROM INSTANCE
  8.            WHERE idcontainer = 1
  9.         GROUP BY idcontainer) i ON c.idcontainer = i.idcontainer

Muchas gracias huesos52 !!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:17.