gracias Maxi.
Muy util el ejemplo, gracias de vuelta

Saludos!!!

On 9/20/07, Maximiliano Milicich <[EMAIL PROTECTED]> wrote:
>
> Sisisi, mira te paso un ejemplo de mi laburo, en donde tenemos una tabla
> con las FACTURAS (un registro x factura) y otra tabla en donde estan los
> detalles de las FACTURAS
> Y la clave de la factura son...5 campos !! Este seria la query para ver,
> para cada factura, cuantos detalles tiene...
>
> select FC.id_empresa,FC.id_tipo_comprobante,FC.id_sucursal,
> FC.id_tipo_de_factura,FC.id_nro_factura, count(*) as cant_detalles
> from FACTURA FC
> join FACTURA_DETALLE FD
> on FC.id_empresa = FD.id_empresa
> and FC.id_tipo_comprobante = FD.id_tipo_comprobante
> and FC.id_sucursal = FD.id_sucursal
> and FC.id_tipo_De_factura = FD.id_tipo_De_factura
> and FC.id_nro_factura = FD.id_nro_factura
> group by FC.id_empresa,FC.id_tipo_comprobante,FC.id_sucursal,
> FC.id_tipo_de_factura,FC.id_nro_factura
>
> Algo adicional: si agregas un campo mas en el resultset (por ejemplo, la
> fecha de la orden de compra o cualquier otro campo), agregalo tambien en el
> "group by" !! Aunque no tenga mucho sentido a primera vista, si estas
> haciendo un group by y en el resultset tenes un campo que no es un computo
> (como count(), sum() etc...) y por el cual no estas agrupando, se te trula
> la consulta, y el resultado es cualquier cosa....
>
> ojala sirva
> saludos
> MA_Xx
>
>
>
> On 9/20/07, Mauro Ciancio <[EMAIL PROTECTED]> wrote:
> >
> > Perfecto, gracias Maximiliano, vale lo mismo si en vez de tener un solo
> > campo clave
> > en las tablas, tengo varios que son clave, deberia hacer join sobre los
> > clave, y hacer el
> > group by en los clave?
> >
> > Gracias de vuelta,
> > Mauro
> >
> > On 9/20/07, Maximiliano Milicich <[EMAIL PROTECTED] > wrote:
> > >
> > > Mauro, lo q respondio Mariano Ayesa deberia funcionarte...
> > > Fijate que la condicion de join entre ordenes_compra y Facturas es "
> > > oc.id = f.oc_id"
> > > O sea, "joineas" por el ID de OC...
> > >
> > > Mariano le puso "oc_id" al ID de OC en la tabla facturas, reemplazalo
> > > por el nombre q tenga la columna en tu sistema (repito, el ID de OC en la
> > > tabla FACTURAS,  NO el ID de facturas)
> > >
> > > Te aporto lo mismo pero en version ANSI SQL
> > >
> > > select OC.id <http://oc.id/> as ID_OC,count(*) as cantidad_facturas
> > > from ORDENES_COMPRA OC  inner join FACTURAS F on OC .id<http://oc.id/>=
> > > F.oc_id
> > > group by OC.id <http://oc.id/>
> > >
> > > Comentanos como salio
> > > Saludos
> > > MA_Xx
> > >
> > >  On 9/20/07, Mauro Ciancio < [EMAIL PROTECTED] > wrote:
> > >
> > > > Estoy probando esto y no me funciona, el count me devuelve uno para
> > > > todas las filas. No se que estoy haciendo mal.
> > > >
> > > > Repito por si quedo algo claro.
> > > >
> > > > La tabla Ordenes Compra (OC) tiene un ID de OC.
> > > >
> > > > La tabla facturas tiene un ID de factura y un campo ID de OC.
> > > >
> > > > Una OC puede tener muchas facturas.
> > > >
> > > > Quiero contar la cantidad de facturas que tiene cada OC.
> > > >
> > > > Desde ya, muchas gracias
> > > > Mauro.
> > > >
> > > > Gracias Mariano y Lautaro por sus respuestas.
> > > >
> > > >
> > > > _______________________________________________
> > > > Lista de correo Programacion.
> > > > [email protected]
> > > > http://listas.fi.uba.ar/mailman/listinfo/programacion
> > > >
> > > >
> > >
> > > _______________________________________________
> > > Lista de correo Programacion.
> > > [email protected]
> > > http://listas.fi.uba.ar/mailman/listinfo/programacion
> > >
> > >
> >
> > _______________________________________________
> > Lista de correo Programacion.
> > [email protected]
> > http://listas.fi.uba.ar/mailman/listinfo/programacion
> >
> >
>
> _______________________________________________
> Lista de correo Programacion.
> [email protected]
> http://listas.fi.uba.ar/mailman/listinfo/programacion
>
>
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a