Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Consultas Anidadas

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Consultas Anidadas Responder citando

Cómo hago una consulta anidada en Interbase??
Volver arriba
Mensaje    Asunto: Me explico Responder citando

Haber, creo que no me he explicado lo suficiente.

Cómo haría yo por ejemplo esta consulta:


Select count(*) From
(Select Max(Valor) From Ventas Group By IdVenta) V



Agradezco su ayuda
Volver arriba
Mensaje    Asunto: Responder citando

Desgraciadamente esa sentencia que yo sepa todavía no se encuentra operativa en Interbase 6.0 OS ni en Firebird 1.0x ni 1.5, quizás en Interbase 6.5 o 7.x si se encuentre operativa pues no he trabajado con estos gestores.

Por ahora en la clausula FROM solo se pueden utilizar tablas, vistas o procedimientos almacenados pero no consultas.

Cuando llegue Firebird 2 si estarán soportadas ese tipo de sentencias, yo tuve algunos problemas al intentar hacer cosas similares, ya que yo venía de Oracle y ahí si que se podía, pero se puede solucionar usando vistas o bien procedimientos almacenados.

Ciao y suerte.
_________________
OJO!! Ya tenemos subforo de Bases de Datos!!
Gracias a los admins.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

utiliza consultas anidadas, supogo que deben funcionar, ya que SQL es mas o menos standards en los manejadores de BD

Código:
ALGO COMO ESTO:

SELECT au_lname, au_fname
FROM authors
WHERE au_id IN
   (SELECT au_id
   FROM titleauthor
   WHERE title_id IN
      (SELECT title_id
      FROM titles
      WHERE type = 'popular_comp'))

_________________
Alberto Lavariega Arista
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Alberto, lo que tu dices es otra cosa, el desea seleccionar un cuantas filas devuelve cierta consulta que usa la función agregada MAX en un GROUP BY, como ves lo hace en la clausula FROM, y eso aunque está permitido en ORACLE en Interbase ni en Firebird está permitido aun.

Además tu consulta no devuelve lo que el quiere, un simple número. Se podría hacer con un Procedimiento Almacenado, que lanzará la consulta y luego consultará las tuplas que tiene y devolviera este valor.

Ciao.
_________________
OJO!! Ya tenemos subforo de Bases de Datos!!
Gracias a los admins.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.