Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   From Select (https://www.clubdelphi.com/foros/showthread.php?t=50708)

kverna 26-11-2007 13:36:30

From Select
 
Gente, estuve buscando la forma de crear una consulta de este estilo pero no funciona:

select p.nombre,c.cantidad
from persona p, (select cantidad
from cliente
) c
......

Las subconsultas en la clausula From estan soportadas en Firebird 1.5?

Gracias.

afxe 26-11-2007 13:46:58

¿Cualo qué?
 
No sé exactamente que quieres hacer. Si lo que quieres es relacionar la tabla persona con la tabla clientes sacando el nombre de la persona y la cantidad del clientes tendrías que hacer algo así (suponiendo que el campo de unión entre la tabla persona y clientes sea codigo_cliente y codigo respectivamente:

Código SQL [-]
select p.nombre, c.cantidad
from persona p left join cliente c on p.codigo_cliente = c.codigo;

Si quieres ver la cantidad de veces que aparece persona en la tabla clientes sería algo así:

Código SQL [-]
select p.nombre, count(c.*) 
from persona p left join cliente c on p.codigo_cliente = c.codigo
group by  p.nombre;

Si solo quieres que saque una relación de las personas que están en clientes con alguna cantidad:

Código SQL [-]
select p.nombre, c.cantidad
from persona p, cliente c 
where p.codigo_cliente = c.codigo;

En fín... danos más pistas...
Saludos.

kverna 26-11-2007 14:03:37

Cita:

Empezado por afxe (Mensaje 248401)
No sé exactamente que quieres hacer. Si lo que quieres es relacionar la tabla persona con la tabla clientes sacando el nombre de la persona y la cantidad del clientes tendrías que hacer algo así (suponiendo que el campo de unión entre la tabla persona y clientes sea codigo_cliente y codigo respectivamente:

Código SQL [-]select p.nombre, c.cantidad
from persona p left join cliente c on p.codigo_cliente = c.codigo;


Si quieres ver la cantidad de veces que aparece persona en la tabla clientes sería algo así:

Código SQL [-]select p.nombre, count(c.*)
from persona p left join cliente c on p.codigo_cliente = c.codigo
group by p.nombre;


Si solo quieres que saque una relación de las personas que están en clientes con alguna cantidad:

Código SQL [-]select p.nombre, c.cantidad
from persona p, cliente c
where p.codigo_cliente = c.codigo;


En fín... danos más pistas...
Saludos.

Lo que quiero hacer es craar una subconsulta en la clausula FROM, similar a lo que se puede hacer el la clausula select (select a,(select b from c)...)

gracias

jhonny 26-11-2007 14:19:28

En FireBird 1.5 no pudes usar tablas derivadas como la que pretendes, a partir de la versión 2.0 Si.

kverna 26-11-2007 14:55:56

Cita:

Empezado por kverna (Mensaje 248404)
Lo que quiero hacer es craar una subconsulta en la clausula FROM, similar a lo que se puede hacer el la clausula select (select a,(select b from c)...)

gracias

ok.gracias. Probare con la version 2

Saludos


La franja horaria es GMT +2. Ahora son las 22:54:05.

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