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
