Retroceder   Foros del Web > Programación para sitios web > Bases de Datos > Mysql

Respuesta
 
Herramientas Desplegado
Antiguo 13-nov-2006, 19:11   #1 (permalink)
normandos está en el buen camino
 
Avatar de normandos
 
Fecha de Ingreso: noviembre-2002
Mensajes: 155
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
normandos está desconectado   Responder Citando
Antiguo 13-nov-2006, 21:22   #2 (permalink)
Moderador NO Sabio
BrujoNic llegará a ser famoso muy prontoBrujoNic llegará a ser famoso muy prontoBrujoNic llegará a ser famoso muy prontoBrujoNic llegará a ser famoso muy prontoBrujoNic llegará a ser famoso muy pronto
 
Avatar de BrujoNic
 
Fecha de Ingreso: noviembre-2002
Ubicación: Costa Rica/Nicaragua
Mensajes: 10.996
Código PHP:
SELECT CONCAT( IF(numero 5"Mayor""Menor"),
               
"(",numero,")""Dato Número" 
FROM tabla 
__________________
Orgulloso de ser latino y demostrar que si uno trata de escribir bien, los demás comprenderán lo que respondo.
¿Fácil verdad?
BrujoNic está desconectado   Responder Citando
Antiguo 14-nov-2006, 19:49   #3 (permalink)
normandos está en el buen camino
 
Avatar de normandos
 
Fecha de Ingreso: noviembre-2002
Mensajes: 155
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
normandos está desconectado   Responder Citando
Antiguo 15-nov-2006, 17:21   #4 (permalink)
Moderador NO Sabio
BrujoNic llegará a ser famoso muy prontoBrujoNic llegará a ser famoso muy prontoBrujoNic llegará a ser famoso muy prontoBrujoNic llegará a ser famoso muy prontoBrujoNic llegará a ser famoso muy pronto
 
Avatar de BrujoNic
 
Fecha de Ingreso: noviembre-2002
Ubicación: Costa Rica/Nicaragua
Mensajes: 10.996
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.
__________________
Orgulloso de ser latino y demostrar que si uno trata de escribir bien, los demás comprenderán lo que respondo.
¿Fácil verdad?
BrujoNic está desconectado   Responder Citando
Antiguo 15-nov-2006, 19:44   #5 (permalink)
normandos está en el buen camino
 
Avatar de normandos
 
Fecha de Ingreso: noviembre-2002
Mensajes: 155
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
normandos está desconectado   Responder Citando
Antiguo 15-nov-2006, 20:41   #6 (permalink)
Moderador NO Sabio
BrujoNic llegará a ser famoso muy prontoBrujoNic llegará a ser famoso muy prontoBrujoNic llegará a ser famoso muy prontoBrujoNic llegará a ser famoso muy prontoBrujoNic llegará a ser famoso muy pronto
 
Avatar de BrujoNic
 
Fecha de Ingreso: noviembre-2002
Ubicación: Costa Rica/Nicaragua
Mensajes: 10.996
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.
__________________
Orgulloso de ser latino y demostrar que si uno trata de escribir bien, los demás comprenderán lo que respondo.
¿Fácil verdad?
BrujoNic está desconectado   Responder Citando
Antiguo 15-nov-2006, 21:59   #7 (permalink)
normandos está en el buen camino
 
Avatar de normandos
 
Fecha de Ingreso: noviembre-2002
Mensajes: 155
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
normandos está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 02:56.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93