![]() |
Contar Dtos en un SQl
Hola a todos
Trabajo en delphi 6 y Firebird 1.5 Quien me da luz con lo siguiente Tengo varios vendedores , varias facturas, varios productos vendidos en esas facturas, pues bien El select que debo hacer debe contar las veces que un producto es vendido pero no con count ejemplo en dos facturas he vendido dos producto diferentes pero uno dos veces y el otro tres , si sacara un count me diria que vendi 5 veces esos dos productos y estaria correcto pero lo que yo busco es que me diga que esos productos fueron vendidos solo 2 en otras palabras las veces que me agrupa un producto y luego contarlas Vendedor 1 veces Peras 500 Manzanas 100 Melones 20 Total de vendidos 3 Vendedor 2 veces Peras 500 Manzanas 100 Total vendido 2 Entonces el query lo que me debe arrojar es Vendedor 1 3 Vendedor 2 2 De antemano gracias |
Saludos
Prueba esto:
|
Eso esta bien pero no funciona , porque cuando cuento los producto este me cuanta pero las cantidades que se venden un producto y asi no es , debe ser que aunque tenga 100 productos vendidos de un solo codigo este debe arrojarme el valor de uno
|
Para que te demos el sql correcto debes indicar más datos, como los campos que tienes en la tabla.
Mientras, intenta esto:
Aunque creo que tendras que hacer dos consultas, o un store procedure, ya que la consulta anterior te dará una linea por cada ticket de venta, y creo que despues de eso quieres sumarlo, verdad??? |
Cita:
Esta consulta la he hecho rápido, puede que tenga algun error. Podria servirte de guía. |
A todos gracias por la respuesta
Lo que se me ocurre pero de seguro existe algo mejor es de mediante un bucle barrer todos los datos y agruparlos por vendedor contado de esta manera las lineas de productos que vendio cada vendedor e insertarlo en una tabla temporal |
Cita:
Los selects anidados pueden darte el resultado en un solo query. Yo no estoy muy puesto en selects anidados, y tu no das ningún dato sobre los campos de las tablas. Tomate un tiempo en reformular la pregunta añadiendo toda la información posible, y revisa los selects anidados, subconsultas y/o stores procedures, ya que con eso seguro que lo puedes resolver. O también puedes hacer un bucle como dices, pero eso ya no es SQL. |
Nuevamente gracias a todos por las respuestas el query quedo algo asi ,
|
La franja horaria es GMT +2. Ahora son las 10:38:26. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi