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

facil a ver si se puede

Estas en el tema de facil a ver si se puede en el foro de Mysql en Foros del Web. MYSQL Necesito hacer una consulta con diferentes valores numericos, por ej : 8 4 6 4 8 y quisiera que me devuelva la palabra “mayor” ...
  #1 (permalink)  
Antiguo 13/11/2006, 20:11
Avatar de normandos  
Fecha de Ingreso: diciembre-2001
Mensajes: 216
Antigüedad: 22 años, 3 meses
Puntos: 0
facil a ver si se puede

MYSQL Necesito hacer una consulta con diferentes valores numericos, por ej :
8
4
6
4
8
y quisiera que me devuelva la palabra “mayor” para todos los valores mayor a 5 y la palabra “Menor” si los valores son menor a 5.Para el ejemplo que presento quedaria
Ej. me devolveria:
DATO NUMERO
Mayor (8)
Menor (4)
Mayor (6)
Menor (4)
Mayor (8)

Es esto posible?
gracias
__________________
"No importa lo que nos suceda sino cómo reaccionamos ante lo que nos sucede."

Presidente James E. Faust
  #2 (permalink)  
Antiguo 13/11/2006, 22:22
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Código PHP:
SELECT CONCAT( IF(numero 5"Mayor""Menor"),
               
"(",numero,")""Dato Número" 
FROM tabla 
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 14/11/2006, 20:49
Avatar de normandos  
Fecha de Ingreso: diciembre-2001
Mensajes: 216
Antigüedad: 22 años, 3 meses
Puntos: 0
Gracias Brujo Nic, en realidad no uso PHP, solo MYSQL pero me sirvio el ejemplo ya que use el IF y me anduvo, GRACIAS!!
__________________
"No importa lo que nos suceda sino cómo reaccionamos ante lo que nos sucede."

Presidente James E. Faust
  #4 (permalink)  
Antiguo 15/11/2006, 18:21
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
De nada, y lo que dice al princio de Código PHP, NO es que sea php, es solo un modo para que la sentencia SQL se presente en varios colores, o sea, si pongo lo de arriba normalmente, quedaría así:

SELECT CONCAT( IF(numero > 5, "Mayor", "Menor"),
"(",numero,")") "Dato Número"
FROM tabla

Pero si lo encierro en [ php ] [ /php ] (Sin los espaciós) queda así:

Código PHP:
SELECT CONCAT( IF(numero 5"Mayor""Menor"),
               
"(",numero,")""Dato Número" 
FROM tabla 
Simplemente se usa (o yo lo uso) para encerrar código y quede de diferentes colores las sentencias del SQL con respecto a los nombres de campos y tablas.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #5 (permalink)  
Antiguo 15/11/2006, 20:44
Avatar de normandos  
Fecha de Ingreso: diciembre-2001
Mensajes: 216
Antigüedad: 22 años, 3 meses
Puntos: 0
GRacias de nuevo Brujo Nic por la aclaracion que bien valio la pena. Siempre se aprende.
Como te comentaba pense que eso era codigo php (ahora me quedo claro que no) pero en ese entonces pensaba que si, asi que use esta parte "SELECT ( IF(numero > 5, "Mayor", "Menor")," y me anduvo muy bien.
Ahora mi duda es, el CONCAT, que funcion cumplia alli?
__________________
"No importa lo que nos suceda sino cómo reaccionamos ante lo que nos sucede."

Presidente James E. Faust
  #6 (permalink)  
Antiguo 15/11/2006, 21:41
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Es para concatenar cadenas o hileras.

Por ejemplo, si queres unir varias palabras como "esto", " es", " una", " prueba"... Utilizando la función CONCAT de MySQL seria:
Código PHP:
CONCAT("esto"" es"" una"" prueba"
Dando como resultado "esto es una prueba" (sin las comillas)

En el caso de lo que necesitas, lo que reflejé es que mostrara el resultado tal y como pusiste al principio, o sea:
DATO NUMERO
Mayor (8)
Menor (4)
Mayor (6)
Menor (4)
Mayor (8)

Lo anterior es igual a:
Código PHP:
CONCAT(IF(numero 5"Mayor""Menor"), "(",numero,")""Dato Número" 
IF(numero > 5, "Mayor", "Menor"), va a dar como resultado la palabra "Mayor" si numero > 5 o "Menor" si numero es <= 5.

Si numero es igual a 8 (como tu primer ejemplo) el resultado de ese IF es "Mayor", tomando ese resultado, utilizaremos el CONCAT para encerrar ese número entre paréntesis.

Código PHP:
CONCAT"Mayor""("numero")" 
Dando como resultado: Mayor(8)

Luego viene ponerle un título a la columna que es "Dato número".

Esa es la explicación.

Te recomiendo ir al sitio de MySQL y bajarte el manual, o revisarlo en línea sobre las funciones de hilera para que veas más ejemplos.

Saludos.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #7 (permalink)  
Antiguo 15/11/2006, 22:59
Avatar de normandos  
Fecha de Ingreso: diciembre-2001
Mensajes: 216
Antigüedad: 22 años, 3 meses
Puntos: 0
tu explicacion ha sido super clara, de nuevo muchas gracias por tu tiempo y por ponerle tantas ganas!

Creo que doy por finalizada esta cuestion, pues no hay mas que se pueda agregar.
para ti.
__________________
"No importa lo que nos suceda sino cómo reaccionamos ante lo que nos sucede."

Presidente James E. Faust
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 18:13.