Mi problema consiste en crear una consulta que me devuelva la cantidad de recorridos que ha realizado un agente por ruta yo cree una Procedimiento almacendado pero no logro que me lo de agrupado por agente y acantidad total por ruta
Código:
a por supesto la estructura de las tablas afectadasALTER PROCEDURE [dbo].[ar_Graf] @ruta numeric AS CREATE TABLE #temp ( nombre varchar(50), ruta numeric, cantidad numeric ) INSERT INTO #temp SELECT ar_Tripulaciones.nombre, ar_rutas.ruta, COUNT(ar_rutas.idchofer) AS cantidad FROM ar_rutas RIGHT OUTER JOIN ar_Tripulaciones ON ar_rutas.idchofer = ar_Tripulaciones.id GROUP BY ar_rutas.idchofer, ar_rutas.ruta, ar_Tripulaciones.nombre UNION ALL SELECT ar_Tripulaciones.nombre, ar_rutas.ruta, COUNT(ar_rutas.idjefe) AS cantidad FROM ar_rutas RIGHT OUTER JOIN ar_Tripulaciones ON ar_rutas.idjefe = ar_Tripulaciones.id GROUP BY ar_rutas.idjefe, ar_rutas.ruta, ar_Tripulaciones.nombre UNION ALL SELECT ar_Tripulaciones.nombre, ar_rutas.ruta, COUNT(ar_rutas.idescolta) AS cantidad FROM ar_rutas RIGHT OUTER JOIN ar_Tripulaciones ON ar_rutas.idescolta = ar_Tripulaciones.id GROUP BY ar_rutas.idescolta, ar_rutas.ruta, ar_Tripulaciones.nombre UNION ALL SELECT ar_Tripulaciones.nombre, ar_rutas.ruta, COUNT(ar_rutas.idcajero) AS cantidad FROM ar_rutas RIGHT OUTER JOIN ar_Tripulaciones ON ar_rutas.idcajero = ar_Tripulaciones.id GROUP BY ar_rutas.idcajero, ar_rutas.ruta, ar_Tripulaciones.nombre SELECT nombre, cantidad ,ruta FROM #temp WHERE ruta= @ruta ORDER BY nombre
Tabla ar_rutas donde estan los recorridos(rutas) realizados
Código:
Tabla ar_Tripulaciones que es donde estan los agentes CREATE TABLE [dbo].[ar_rutas]( [codigo] [int] NOT NULL, [ruta] [int] NULL, [idchofer] [int] NULL, [idjefe] [int] NULL, [idescolta] [int] NULL, [idcajero] [int] NULL, [fecha] [datetime] NULL ) ON [PRIMARY]
Código:
hasta el momneto con lo que tengo creado me muestra CREATE TABLE [dbo].[ar_Tripulaciones]( [id] [int] IDENTITY(1,1) NOT NULL, [nombre] [varchar](70) NULL, [cargo] [varchar](50) NULL, [activo] [int] NULL, [asignado] [int] NULL ) ON [PRIMARY]
nombre | cantidad |
_________________
nombre 1| 5 |
nombre 1| 4 |
nombre 2| 1 |
nombre 2| 2 |
esto pasa porque cada agente puede haber echo un recorrido como cajero y los otros como chofer y por eso me lo pone separado y lo que quiero es mostrarlo todo total no importa como que lo haya echo
en si lo que quiero es que me muestra todos los nombres de los agentes y al lado la cantidad de veces que salio al recorido teniendo en cuenta el paramtro que yo le pase al SP por ejemplo @ruta = 1 pues entonces me muestre
nombre | cantidad |
_________________
nombre 1 | 5 |
nombre 2 | 2 |
nombre 3 | 1 |