Ver Mensaje Individual
  #5 (permalink)  
Antiguo 11/05/2013, 13:36
mono_chimuchino
 
Fecha de Ingreso: noviembre-2011
Mensajes: 44
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Consulta IF mysql

ok, gracias, mira voy a tratar de explicarlo mejor voy a poner todo...

tengo esta tabla...

DROP TABLE IF EXISTS punto_origen;
CREATE TABLE punto_origen(
porigen_id INT NOT NULL PRIMARY KEY,
porigen_name VARCHAR(30)
);

INSERT INTO punto_origen(porigen_id,porigen_name) VALUES (1,"Destino a Primer Tramo");
INSERT INTO punto_origen(porigen_id,porigen_name) VALUES (2,"Destino a Segundo Tramo");
INSERT INTO punto_origen(porigen_id,porigen_name) VALUES (3,"Destino a Tercer Tramo");

El tema es q me pedían que ya no se llamaran así los tramos, querían cambiarle los nombres,pero yo no quería hacer eso, porque tendría q cambiar esos mismo nombres en todas las paginas php y js que los necesitaran, entonces aplique esto....


SELECT
IF(porigen_id=1,'Nuevo Destino 1',
IF(porigen_id=2,'Nuevo Destino 2',
IF(porigen_id=3,'Nuevo Destino 3','No'))) AS porigen_name_if,porigen_name
FROM punto_origen

hasta aquí todo bien....... hasta que un día, se les ocurrió incorporar otra ruta más que tuviera la misma función que la que entregaba el código 1, Porque?? (según ellos mas fácil de entender para los usuarios) , pero tu dirás porq no crea otro código con la nueva ruta?? lo que pasa es que esta pequeña tabla esta conectada a otras donde hay mucha información entonces tendría que hacer el llenado de todo eso y no quiero hacerlo :/

Entonces ahí viene mi duda, podría duplicar un código especifico(en realidad solo mostrar) que cumpliera la mismo funcion del codigo

osea en vez de mostrarme la consulta esto:


porigen_name_if(que es el alias que se creo con la consulta if) - porigen_id - porigen_name
"Nuevo Destino 1" 1 Destino a Primer Tramo
"Nuevo Destino 2" 2 Destino a Segunfo Tramo
"Nuevo Destino 3" 3 Destino a Tercer Tramo

cambiarlo por eso. pero

porigen_name_if(que es el alias que se creo con la consulta if) - porigen_id - porigen_name
"Nuevo Destino 1 Incorporado" 1 Destino a Primer Tramo
"Nuevo Destino 1" 1 Destino a Primer Tramo
"Nuevo Destino 2" 2 Destino a Segunfo Tramo
"Nuevo Destino 3" 3 Destino a Tercer Tramo

como ves solo quiero mostrar un nuevo nombre para un código repetido el "1" esta info se va a un listview, por lo tanto si llego a mostrar esos cuatro item si el usuario selecciona los 2 primeros hace lo mismo que es lo q las personas quieren.....

eso es, yo no digo que tenga q hacerse de esa forma, solo puse eso para ver si estaba bien encaminado, no es necesario que sea así, si conoces otra forma, ahí va la tabla para ver si me puedes ayudar please, probé poniendo otro if y agruparlo pero me seguía mostrando 3 resultados

gracias y me avisas cualquier duda, saludos