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

consulta multiple con Select...Replace

Estas en el tema de consulta multiple con Select...Replace en el foro de Mysql en Foros del Web. buenas tardes, foreros, tengo la siguiente inquietud: mi programa me arroja lo siguiente Código HTML: 190.165.156.0/24 pc_empresarial1500k_arm 99 253 0 1 252 190.165.46.0/24 pc_empresarial192k_arm 13 ...
  #1 (permalink)  
Antiguo 19/05/2009, 15:31
Avatar de darkleo  
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
De acuerdo consulta multiple con Select...Replace

buenas tardes, foreros, tengo la siguiente inquietud: mi programa me arroja lo siguiente
Código HTML:
190.165.156.0/24	pc_empresarial1500k_arm	99	253	0	1	252	
190.165.46.0/24	pc_empresarial192k_arm	13	244	9	212	32	
190.165.60.0/24	pc_empresarial192k_arm_3	44	253	0	141	112	
190.165.2.0/24	pc_empresarial2050k_arm	84	247	6	39	208	
190.165.50.0/24	pc_empresarial256k_arm	58	239	14	98	140	
190.165.61.0/24	pc_empresarial256k_arm_2	30	251	2	175	76
con la siguiente consulta que me ayudo huesos52(muchas gracias!)
Código PHP:
SELECT REPLACE(ScopeName, if(SUBSTRING(ScopeName,1,22)='pc_empresarial256k_arm',ScopeName,'"#$%&'),'pc_empresarial1500k_arm') as cambio FROM disp_ips
funciona perfecto, pero como hago si son varios los argumentos a modificar por ej este tambien pc_empresarial192k_arm y una última pregunta para visualizarlo desde PHP con
Código PHP:
$rowIP2['cambio'
como funciona ??
muchas gracias
__________________
Just LeO
  #2 (permalink)  
Antiguo 19/05/2009, 16:05
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: consulta multiple con Select...Replace

Prueba así darkleo:

Código mysql:
Ver original
  1. SELECT REPLACE(ScopeName, if(SUBSTRING(ScopeName,1,22)='pc_empresarial256k_arm' or SUBSTRING(ScopeName,1,22)='pc_empresarial192k_arm',ScopeName,'"#$%&'),'pc_empresarial1500k_arm') as cambio FROM disp_ips;

Si son mas, puedes poner la mismoa cadena separada por OR.

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 19/05/2009, 16:19
Avatar de darkleo  
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
De acuerdo Respuesta: consulta multiple con Select...Replace

hola huesos52, lo q pasa es si son diferentes los reemplazos como serian?, es decir, 2 cadenas diferentes de texto, reemplazar por 2 cadenas distintas, no por la misma cadena las 2 cadenas iniciales,
Muchas gracias
__________________
Just LeO
  #4 (permalink)  
Antiguo 19/05/2009, 22:04
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: consulta multiple con Select...Replace

Prueba esto.

Código mysql:
Ver original
  1. SELECT if(SUBSTRING(ScopeName,1,22)='pc_empresarial256k_arm',replace(ScopeName,SUBSTRING(ScopeName,1,22),'pc_empresarial192k_arm'),if(SUBSTRING(ScopeName,1,22)='pc_empresarial192k_arm',replace(ScopeName,SUBSTRING(ScopeName,1,22),'pc_empresarial164k_arm'),scopename) as cambio FROM disp_ips;

La idea es meter en cada else un nuevo parametro de reemplazo.
No lo he probado, ten cuidado con los paréntesis.

Espero te funcione.
Y nos cuentas como te va.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 20/05/2009, 06:51
Avatar de darkleo  
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: consulta multiple con Select...Replace

hola huesos52, he estado revisando donde puedo tener el error, me saca esto
Código HTML:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM disp_ips
le seguire cacharriando muchas gracias !
__________________
Just LeO
  #6 (permalink)  
Antiguo 20/05/2009, 07:24
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: consulta multiple con Select...Replace

Me faltó un parentesis darkleo.

Código mysql:
Ver original
  1. SELECT if(SUBSTRING(ScopeName,1,22)='pc_empresarial256k_arm',REPLACE(ScopeName,SUBSTRING(ScopeName,1,22),'pc_empresarial192k_arm'),if(SUBSTRING(ScopeName,1,22)='pc_empresarial192k_arm',REPLACE(ScopeName,SUBSTRING(ScopeName,1,22),'pc_empresarial164k_arm'),scopename)) as cambio FROM disp_ips;

Y ya sabes, este es un ejemplo para dos comparaciones, puede ser para n comparaciones, pero hay que tener cuidado con el manejo de paréntesis.


Esta si creo te funcione.

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #7 (permalink)  
Antiguo 20/05/2009, 10:03
Avatar de darkleo  
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
De acuerdo Respuesta: consulta multiple con Select...Replace

uyhyh huesos52, como siempre me salvas, super !!!! de una funciono, muchisimas gracias, que pena lo aburridor, le cuento q no he podido con el alias as cambio, como lo empleo en mi consulta??
de nuevo gracias !
__________________
Just LeO
  #8 (permalink)  
Antiguo 20/05/2009, 10:10
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: consulta multiple con Select...Replace

Que no has podido hacer con el alias?
Así como lo tienes está bien (Aunque también sobra la palabra as).

Por lo poco que se de php, se puede recuperar está serie de registros con:
$rowIP2['cambio'] como lo dices en el post inicial.

Tendrías que mirar como y con que metodo recorres la consulta, que te está generando error. En el foro de php de seguro te ayudan con eso.

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #9 (permalink)  
Antiguo 20/05/2009, 10:27
Avatar de darkleo  
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
De acuerdo Respuesta: consulta multiple con Select...Replace

listo huesos52, muchas gracias preguntare en tópico de PHP, de nuevo mil gracias !!
__________________
Just LeO
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 04:04.