Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Consulta valores mayores y menores

Estas en el tema de Consulta valores mayores y menores en el foro de Mysql en Foros del Web. Buen día Me decidí a pedir ayuda acerca de este problema ya que le he dado muchas vueltas y creo que por lo mismo me ...
  #1 (permalink)  
Antiguo 30/07/2014, 03:27
 
Fecha de Ingreso: julio-2014
Mensajes: 3
Antigüedad: 9 años, 8 meses
Puntos: 0
Consulta valores mayores y menores

Buen día

Me decidí a pedir ayuda acerca de este problema ya que le he dado muchas vueltas y creo que por lo mismo me he complicado yo mismo, espero puedan ayudarme.

Mi consulta
Código:
SELECT DISTINCT user_id, MAX( version ) , username, estampa 
FROM pings, users
WHERE pings.user_id = users.id
AND version <>  " "
GROUP BY user_id
Tengo un rango de valores que pertenecen a un reporte de datos, de este reporte de datos tengo que obtener el id del usuario, la última versión que se está usando, el nombre de usuario y la fecha en que comenzó a usar la versión que obtuve anteriormente.

El problema está en el campo estampa (que es la fecha) ya que no logro hacer que coincida con la primera vez que el usuario usó la versión, recibo la primera fecha de todo el registro para ese usuario, donde entro en más conflicto es que no puedo usar ni max ni min para la estampa ya que no es el valor esperado a obtener, ya que como lo veo hasta ahora para obtener ese valor depende de la versión y la primera vez que se registró su uso.

No se si me explico, todo el problema que veo yo esta en como hacer coincidir la estampa con el valor max(version) para que reciba la primera vez que se uso la versión actual del usuario.

Espero que alguien pueda ayudarme

Gracias
  #2 (permalink)  
Antiguo 30/07/2014, 06:58
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Consulta valores mayores y menores

Vamos por partes

Código MySQL:
Ver original
  1. SELECT user_id, MAX( version ) uVersion
  2. FROM pings
  3. WHERE version <>  " "
  4. GROUP BY user_id

esto da la MAXIMA version que ha usado cada usuario

Código MySQL:
Ver original
  1. SELECT username
  2. FROM users

Esto el username

Código MySQL:
Ver original
  1. SELECT user_id, version, MIN( estampa ) pestampa
  2. FROM pings
  3. WHERE version <>  " "
  4. GROUP BY user_id, version

Esto la fecha minima de cada usuario y version

Lo tendriamos, no? Vamos a juntarlo

Código MySQL:
Ver original
  1. SELECT SbcP.user_id,
  2.              u.username,
  3.              SbcP.version,
  4.              SbcP.pestampa
  5. FROM (SELECT user_id,
  6.                         version,
  7.                         MIN( estampa ) pestampa
  8.              FROM pings
  9.              WHERE version <>  " "
  10.              GROUP BY user_id, version) SbcP
  11.     INNER JOIN
  12.           (SELECT user_id,
  13.                         MAX( version ) uVersion
  14.             FROM pings
  15.             WHERE version <>  " "
  16.             GROUP BY user_id) SbcV
  17.         ON SbcP.user_id=SbcV.user_id
  18.              AND SbcP.version=SbcV.uVersion
  19.      INNER JOIN users u
  20.          ON  ON SbcP.user_id=u.user_id
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 30/07/2014, 15:17
 
Fecha de Ingreso: julio-2014
Mensajes: 3
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Consulta valores mayores y menores

Como me lo imaginaba, iba a ser algo complejo con un conjunto de subconsultas, las tres consultas por si solas ya las tenía elaboradas, pero en donde me encuentro con un muro es el asunto de realizar las consultas anidadas.

Agradezco por la consulta que me has dejado pero lamentablemente no funciona.
  #4 (permalink)  
Antiguo 31/07/2014, 01:01
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Consulta valores mayores y menores

Cita:
... lamentablemente no funciona.
Esta hecha al vuelo, obviamente no tengo la estructura de tablas y datos para probarla, si no te limitas a copiar pegar y decir que no funciona quizás le encontramos el error.

Primero repasa si los nombres de campos usados son los de tus tablas.
Segundo cuando una query no funciona manda un mensaje de error léelo e intenta corregirlo, o mándalo para que te pueda ayudar alguien.
Tercero si los datos que da no son los que buscas luego es un error de interpretación de los datos requeridos, explícate mejor.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #5 (permalink)  
Antiguo 31/07/2014, 02:09
 
Fecha de Ingreso: julio-2014
Mensajes: 3
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Consulta valores mayores y menores

Lo se y te agradezco mucho la ayuda, lo he solucionado de una forma en la que no intervienen las subconsultas.

Doy el tema por solucionado.
  #6 (permalink)  
Antiguo 31/07/2014, 03:02
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Consulta valores mayores y menores

Se considera elegante mostrar las soluciones a los problemas planteados, para que puedan beneficiarse otros usuarios. Pero tu mismo.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: campo, registro, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:03.