Tengo una tabla con citas de clientes
con un campo del tipo date, donde se van guardando todas las citas de mis clientes, pueden ser mas de 10 o 15 en un mes, pero solo quisiera la ultima
¿la verdad no encuentro por donde?
gracias de antemano
| |||
Ayuda FECHAS Tengo una tabla con citas de clientes con un campo del tipo date, donde se van guardando todas las citas de mis clientes, pueden ser mas de 10 o 15 en un mes, pero solo quisiera la ultima ¿la verdad no encuentro por donde? gracias de antemano |
| |||
Respuesta: Ayuda FECHAS Gracias, pero la situación es la siguiente: tengo dos tablas, una con toda la información del cliente Id, Nombre, direccion, Teléfono, etc y otra con toda la información de las citas Id, IdCliente, FechaCita, Comentarios, etc. de estas tablas saco un reporte en crystal, que obtiene los datos de una vista. Un cliente puede tener n citas y por consiguiente el campo de FechaCita puede contener n fechas, lo unico que quiero es que en la vista obtener la ultima fecha de citas del cliente, sin manejar parametros, porque es un reporte global, tengo cerca de 1600 clientes. Y el reporte me tiene que arrojar los 1600 clientes con sus ultimas citas. gracias por la ayuda. |
| ||||
Respuesta: Ayuda FECHAS
Código:
Saludos! SELECT CLIENTES.*, MC.FECHA_CITA FROM CLIENTES CL LEFT OUTER JOIN ( SELECT Cliente_Id, MAX(FECHA_CITA) FECHA_CITA FROM TBL_CITAS ) MC ON CL.Cliente_Id = MS.Cliente_Id
__________________ La sencillez y naturalidad son el supremo y último fin de la cultura... -- MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications. |
| |||
Respuesta: Ayuda FECHAS Select Clientes.*, Mc.Fecha From Clientes Cl Left Outer Join ( Select IdCliente, Max(Mc.Cita) Fecha_Cita From Cita Mc ) On Cl.Id=Mc.IdCliente ¿Es así, mas o menos? Gracias |
| |||
Respuesta: Ayuda FECHAS me manda el siguiente error: Mens. 8120, Nivel 16, Estado 1, Línea 1 La columna 'citas.Id' de la lista de selección no es válida, porque no está contenida en una función de agregado ni en la cláusula GROUP BY. |
| |||
Respuesta: Ayuda FECHAS Asi es, funciona perfectamente, cuando manejo solo tres campos Id, Nombre y Fecha, pero cuando le agrego el campo de comentarios me devuelve todas las fechas con todos los comentarios realizados en cada fecha... Gracias |
| ||||
Respuesta: Ayuda FECHAS Cita: es cierto, olvide agregar el group by clienteid Alfredo, nos podrias mostrar como quedo el query que te muestra el resultado no esperado? Saludos!
__________________ La sencillez y naturalidad son el supremo y último fin de la cultura... -- MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications. |
| |||
Respuesta: Ayuda FECHAS Select Ci.IdClientes, Co.Nombre, Max(Ci.Fecha) Ult_Fecha From Citas Ci Inner Join Clientes Co On Ci.IdContacto=Co.Id Where Co.Baja='False' "SOLO UTILIZO LOS CLIENTES ACTIVOS" Group By Ci.IdContacto, Co.Nombre ***Esta consulta funciona correctamente**** Pero como quiero saber cual fueron los comentarios de la ultima cita, agrego el campo "Comentarios" Select Ci.IdClientes, Co.Nombre, Max(Ci.Fecha) Ult_Fecha, Ci.Comentarios From Citas Ci Inner Join Clientes Co On Ci.IdContacto=Co.Id Where Co.Baja='False' "SOLO UTILIZO LOS CLIENTES ACTIVOS" Group By Ci.IdContacto, Co.Nombre, Ci.Comentarios Order By Co.Nombre ***Y el resultado es que me envia todas las fechas y los comentarios a dicha fechas**** pienso que es logico porque, los comentarios siempre son diferentes... |
| ||||
Respuesta: Ayuda FECHAS okay, si se puede tomar el cliente + la fecha como llave, quedaria algo como:
Código:
Saludos! SELECT CI.[Id] ,CO.Nombre ,S.Fecha ,CI.Comentarios FROM ( SELECT CI.IdClientes ,MAX(CI.Fecha) Fecha FROM Clientes CO INNER JOIN Citas CI ON CI.IdContacto = Co.[Id] AND CO.Baja = 'False' GROUP BY CI.IdClientes ) S INNER JOIN Citas CI ON S.IdClientes = CI.IdClientes AND S.Fecha = CI.Fecha INNER JOIN Clientes CO ON CI.IdClientes = Co.[Id]
__________________ La sencillez y naturalidad son el supremo y último fin de la cultura... -- MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications. |