Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-06-2008
sabato48 sabato48 is offline
Registrado
 
Registrado: abr 2007
Posts: 4
Poder: 0
sabato48 Va por buen camino
Problema con subQuerie

Hola Tengo un problema con Paradox.

Tengo una consulta, en la cual un campo es una subconsulta a la cual le paso un parametro de la consulta principal, la subconsulta me devuelve una suma, el problema es que al ejecutarla, esta no me regresa nada.

pongo la consulta:

Código SQL [-]
 select I.CLV_ART, CAMPOSTRU1, I.CAMPOSTRU3, CAMPOINTU,CAMPODBL4,CAMPODBL8,
(select sum(MI.CANT) suma from  tablaInt MI 
    where MI.clv_art = I.clv_art
    AND MI.TIPO_MOV IN (51) 
    and extract(month from FECHA_DOCU)=4 
    and extract(year from FECHA_DOCU)=2008)  venta1
from tabla1 I  
where I.STATUS='A'
and I.CAMPOSTRU3='HILO LATEX' 
and I.CAMPOSTRU2='LATEX 40BL40EX'  
GROUP BY CLV_ART, CAMPOSTRU1, CAMPOINTU,CAMPODBL4,CAMPODBL8,I.CAMPOSTRU3

Si ejecuto la subconsulta unicamente,

Código SQL [-]
select SUM(MI.CANT) suma 
from  tablaInt MI 
where MI.clv_art='LATEX 40BL40EX'
AND MI.TIPO_MOV IN (51) 
and extract(month from FECHA_DOCU)=4 
and extract(year from FECHA_DOCU)=2008

No tengo ningun problema y me da un valor correcto.

alguien me podria decir si paradox no acepta que le pase asi el parametro, o talvez mi error es otro?¡?.

Gracias anticipadas.
Responder Con Cita
  #2  
Antiguo 27-06-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Código SQL [-]
select I.CLV_ART, CAMPOSTRU1, I.CAMPOSTRU3, CAMPOINTU,CAMPODBL4,CAMPODBL8,
(select sum(MI.CANT) suma from  tablaInt MI 
    where MI.clv_art = I.clv_art
    AND MI.TIPO_MOV IN (51) 
    and extract(month from FECHA_DOCU)=4 
    and extract(year from FECHA_DOCU)=2008) as venta1 <--//creo que falta esto
from tabla1 I  
where I.STATUS='A'
and I.CAMPOSTRU3='HILO LATEX' 
and I.CAMPOSTRU2='LATEX 40BL40EX'  
GROUP BY CLV_ART, CAMPOSTRU1, CAMPOINTU,CAMPODBL4,CAMPODBL8,I.CAMPOSTRU3
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #3  
Antiguo 27-06-2008
sabato48 sabato48 is offline
Registrado
 
Registrado: abr 2007
Posts: 4
Poder: 0
sabato48 Va por buen camino
Hola gracias enecumene, si me faltaba el as, aunque sin este la consulta funciona, pero aún así el Query no funciona, supongo que el error se debe al paso del parametro
Código SQL [-]
where MI.clv_art = I.clv_art
en el subquerie y en ese caso no se si se deba de pasar de alguna
otra forma
Responder Con Cita
  #4  
Antiguo 27-06-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Por lo que veo en el Sub-Query te falta poner en el from la tabla donde corresponde el campo I.clv_art, o sea:

Código SQL [-]
select sum(MI.CANT) suma from  tablaInt MI, OtraTabla I 
    where MI.clv_art = I.clv_art
    AND MI.TIPO_MOV IN (51) 
    and extract(month from FECHA_DOCU)=4 
    and extract(year from FECHA_DOCU)=2008

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #5  
Antiguo 27-06-2008
sabato48 sabato48 is offline
Registrado
 
Registrado: abr 2007
Posts: 4
Poder: 0
sabato48 Va por buen camino
Cool

Hola gracias por el interes !!!

De hecho el campo
Código SQL [-]
I.clv_art

del subquerie viene de la tabla del querie principal
Código SQL [-]
from tabla1 I

si pongo la tabla en el subquerie, tengo que poner en este ademas otra condicion
Código SQL [-]
     and I.CAMPOSTRU2='LATEX 40BL40EX'

la cual seria redundante ya que esta condicion existe ya en el querie principal.
Gracias
Responder Con Cita
Respuesta



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 12:50:14.


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