Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Oracle (https://www.clubdelphi.com/foros/forumdisplay.php?f=22)
-   -   Subconsultas en ORACLE (https://www.clubdelphi.com/foros/showthread.php?t=1113)

Investment 04-06-2003 11:40:08

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.

delphi.com.ar 04-06-2003 17:31:34

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!

Investment 04-06-2003 17:49:25

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


marto 19-06-2003 00:41:36

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.

delphi.com.ar 19-06-2003 00:50:04

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!


La franja horaria es GMT +2. Ahora son las 01:55:58.

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