Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Oracle
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-06-2003
Avatar de Investment
Investment Investment is offline
Miembro
 
Registrado: may 2003
Posts: 378
Poder: 22
Investment Va por buen camino
Subconsultas en ORACLE

Estoy intentando hacer una subconsulta dentro del TOAD

Código:
SELECT unidad,
    (Select count(*) from unidades U
     where U.obra=6012 and U.Unidad=UU.Unidad) as TOTAL
FROM unidades UU 
WHERE UU.obra=6012

pero al ejecutar la consulta me dice que falta una expresion.

El formato funciona correctamente en SQL SERVER pero no se que es lo que me falta en ORACLE.
__________________
Saludos,
Peter Investment
Responder Con Cita
  #2  
Antiguo 04-06-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.935
Poder: 27
delphi.com.ar Va por buen camino
Te cuento que en mi empresa tenemos instalado dos versiones diferentes del motor, una para desarrollo y otra para producción.
Me ha pasado mas de una ves, que algo que funciona en desarrollo no funciona en producción, el tema es que la de desarrollo es 8.1.5 y la de producción es 8.0.5, bueno, todo lo que te estoy contando es porque ese tipo de consulta no funciona en 8.0.5 pero si en 8.1.5 y el error que produce es "missing expression"

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 04-06-2003
Avatar de Investment
Investment Investment is offline
Miembro
 
Registrado: may 2003
Posts: 378
Poder: 22
Investment Va por buen camino
Gracias por tu respuesta delphi.com.ar

En mi empresa tanto en desarrollo como en produccion tenemos la version 8.0.5. y efectivamente no funciona

Al final lo he solucionado incorporando la select al FROM

Código:
SELECT  U2.unidad, U1.cont

FROM unidades U2,
          (   Select COUNT(Unidad) "CONT" 
               FROM unidades				    
            WHERE Validado = 1)  U1

WHERE U2.obra = 6012
__________________
Saludos,
Peter Investment
Responder Con Cita
  #4  
Antiguo 19-06-2003
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 22
marto Va por buen camino
Esto no responde a tu pregunta, es más por mi curiosidad.
O no he entendido lo que quieres hacer con la query o ¿no te devolvería lo mismo esta?

Código:
SELECT U.unidad, count(*)
FROM unidades U
WHERE U.Obra = 6012
group by U.Unidad
No tienes que hacer niguna join, cosa que te ahorrá tiempo. Además, lo que tu haces es una subselect sincronizada, cosa costosiiiiiiiiiiiiiiiiisima.

Si me he empanao y no he entendido tu intención, comentamelo, por favor.
__________________
E pur si muove

Última edición por marto fecha: 19-06-2003 a las 00:49:35.
Responder Con Cita
  #5  
Antiguo 19-06-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.935
Poder: 27
delphi.com.ar Va por buen camino
Es verdad, tu consulta tiene el mismo resultado y es mucho mas eficaz que la primer consulta, pero me parece que la segunda consulta da otro resultado. A la hora de responder me he segado por la duda particular que me han planteado y ni se me ocurrió ver que las dos tablas eran las mismas.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 11:48:20.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi