elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Consulta con dos campos máximos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Consulta con dos campos máximos  (Leído 2,069 veces)
novalida

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Consulta con dos campos máximos
« en: 3 Julio 2012, 20:16 »

Hola!!!

llevo un par de días dando vueltas a una consulta que en su día no supe cómo hacerla. Supongo que se realizaría con un GROUP BY aunque así no soy capaz  y por subconsultas no sé si no veo la solución o es que me he encabezonado en hacerlas mal :S

Si en una tabla tengo tres campos:

  • campo_valor
  • num_mes
  • anyo

Me gustaría obtener en una consulta los valores de campo_valor en los que la fecha sea la mayor en la que existan valores.

El problema que tengo es que cuando un año (campo anyo) no está completo, por ejemplo 2012, el valor máximo de mes (num_mes) no sería 12, como en el caso de un año que sí tuviera valores para el mes 12, como por ejemplo 2011.

No sé si me he explicado bien, pero llevo dándole vueltas a esto y no doy con la solución.

No pido la consulta, porque esto no es una tarea ni nada parecido, sino más bien para mejorar mi autoformación, pero agradecería que alguien pudiera darme alguna pista.
La solución que en su día utilicé fue mediante un bucle por código, pero me gustaría aprender esa consulta dado que creo que sería más elegante.


Muchas gracias y un saludo!! :)


En línea

GenR_18

Desconectado Desconectado

Mensajes: 115


Ver Perfil
Re: Consulta con dos campos máximos
« Respuesta #1 en: 4 Julio 2012, 23:42 »

Podrías usar la clausula WHERE con operadores < o > .

También darnos ejemplos de cómo lo estás haciendo estaría perfecto.
Suerte.


En línea

novalida

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Consulta con dos campos máximos
« Respuesta #2 en: 11 Julio 2012, 10:26 »

Hola!!!
Perdón por el retraso pero no he estado disponible dede hace un tiempo.

He encontrado una solución y creo que es correcta:


Código:

Select anyo, mes, valor from tabla where mes =
(Select max(mes) from tabla where anyo =
(select max (anyo) from tabla where condicional = condicion1))


No obstante me parce un poco aparatotosa al llevar una subconsulta dentro de otra, por lo que agradecería si alguien pudiera decirme si se podría hacer mediante agrupación GROUP BY.


Saludos!!!
En línea

novalida

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Consulta con dos campos máximos
« Respuesta #3 en: 12 Julio 2012, 14:45 »

Me respondo a mí mismo.... :S

Al final no es así, puesto que si hay una condición, una cuarta columna en la tabla sobre la que filtrar la selección, se seleccionarían todos los resultados para ese mes y ese anyo, independientemente del valor indicado en la columna de condicional.


¿¿Alguien puede arrojar un poco de luz sobre la consulta???


Muchas gracias!!! :)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Sumas en campos
Programación Visual Basic
chofoman 3 1,348 Último mensaje 6 Diciembre 2005, 19:06
por JuszR
Validacion de campos. en una BD con PHP
PHP
alexkof158 6 4,956 Último mensaje 27 Noviembre 2009, 23:25
por alexkof158
Consulta; Necesito armar una consulta para saber si una fecha ha caido dentro...
Bases de Datos
astinx 6 4,313 Último mensaje 23 Diciembre 2011, 20:34
por astinx
consulta msql en tablas con campos ID
Dudas Generales
yosoytusol 5 1,996 Último mensaje 30 Agosto 2014, 10:04
por Markul
[Problema]: Consulta SQL INNER JOIN 2 campos
Bases de Datos
MiguelCanellas 7 554 Último mensaje 19 Octubre 2019, 00:33
por MiguelCanellas
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines