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 26-04-2011
Avatar de jazmin
jazmin jazmin is offline
Miembro
 
Registrado: mar 2007
Ubicación: mexico
Posts: 44
Poder: 0
jazmin Va por buen camino
Wink como Anido un select a esta instruccion

En el capitulo anterior jejeje

me ayudaron a hacer una consulta, esta de aqui.

Código SQL [-]
Select a.codigo,(Min (a.CostoEnt) ) as Costo ,b.formula,b.present,b.concentra,(Sum(b.minimo)/Count(b.minimo)) as minimox
from barras.dbf a,productos.dbf b
where ((a.inventario="SI")
and (a.codigo=b.codigo))
Group By a.codigo,b.formula,b.present,b.concentra
having ( ( sum(a.existent)+ sum(a.ExistGra) ) < (Sum(b.minimo)/Count(b.minimo)))
order by a.codigo asc

ya funciona me da los productos bajos de inventario y cual es el costo mas barato de cada uno de ellos ufffffff dificil pero lo conseguimos, ahora quiero agregar el provedor el provedor y nombre del producto creo que una buena opcion seria anidar un select pero no se como ji ji ji
eso es el problema ya intente haciendo esto pero no funciono

Código SQL [-]
 Select * From  (
Select a.codigo,(Min (a.CostoEnt) ) as Costo ,b.formula,b.present,b.concentra,(Sum(b.minimo)/Count(b.minimo)) as minimox
from barras.dbf a,productos.dbf b
where ((a.inventario="SI")
and (a.codigo=b.codigo))
Group By a.codigo,b.formula,b.present,b.concentra
having ( ( sum(a.existent)+ sum(a.ExistGra) ) < (Sum(b.minimo)/Count(b.minimo)))
order by a.codigo asc       ){Esto seria una tabla, por asi decirlo y aqui agregaria la otra tabla, no se si sea valido........ lo haria eso algo asi ?}  c,Productos.dbf d
Where d.costo=c.costo  
and d.codigo=c.codigo
Responder Con Cita
  #2  
Antiguo 26-04-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
tu consulta no ha salido muy bien en la pantalla

pero si quieres sacar el nombre del proveedor y del producto (me imagino que tienes esos codigos en campos) podrias hacer algo como esto

Código SQL [-]
 
Select A.Codigo, P.descripcion, PV.RazonSocial 
from Codigos A
Left Join TabladeProductos P on A.Codigo = P.Codigo
Left Join TabladeProveedores PV on A.CodigoProveedor = P.CodigoProveedor
....
...
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 26-04-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
P.D. como te menciono roman en la consulta anterior
no es recomendable usar consultas anidadas puesto que son lentas mas aun considerando las bases de datos que usas
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #4  
Antiguo 26-04-2011
Avatar de jazmin
jazmin jazmin is offline
Miembro
 
Registrado: mar 2007
Ubicación: mexico
Posts: 44
Poder: 0
jazmin Va por buen camino
Wink no funciona asi

la sentencia sql si sali completa,

no me preocupa mucho esta instruccion porque solo se va ejecutar muy poco cuando se quiera surtir.

el usuario le pedira al sistema el estatus y el sistema le dira que falta y de donde debe surtirlo

no me funciona asi porque la infomacion viene de una subconsulta donde no viene el exixtencia global esa la consulto yo

como hago un select anidado en delphi hay una nomenclatura especial

ya vi que le ponen select * From (

o tambien asi Select * From [
pero ninguna de las dos me funciona.
Responder Con Cita
  #5  
Antiguo 21-05-2011
overloaded overloaded is offline
Registrado
NULL
 
Registrado: may 2011
Posts: 2
Poder: 0
overloaded Va por buen camino
el problema lo tienes en el ORDER BY, ya que al hacer un SELECT anidado debes ubicarlo al final de la última sentencia.
Es lo único que tienes que cambiar.

La consulta quedaría asi:


Select * From (
Select a.codigo,(Min (a.CostoEnt) ) as Costo ,b.formula,b.present,b.concentra,(Sum(b.minimo)/Count(b.minimo)) as minimox
from barras.dbf a,productos.dbf b
where ((a.inventario="SI")
and (a.codigo=b.codigo))
Group By a.codigo,b.formula,b.present,b.concentra
having ( ( sum(a.existent)+ sum(a.ExistGra) ) < (Sum(b.minimo)/Count(b.minimo)))
) c, Productos.dbf d
Where d.costo=c.costo
and d.codigo=c.codigo
order by c.codigo asc
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cómo saber si una instrucción sql esta activa en un servidor de interbase? fredycc Firebird e Interbase 1 09-02-2009 10:10:01
como ejecutar una instruccion omy Varios 14 05-11-2007 21:25:59
que esta mal en este FOR SELECT Milperrimo Firebird e Interbase 9 08-10-2007 16:29:28
Está bien esta consulta Select count? enecumene MySQL 12 30-08-2007 03:54:29
Un select y update en una misma instruccion dmagui SQL 2 06-07-2005 17:17:49


La franja horaria es GMT +2. Ahora son las 09:38:19.


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