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

left join con condicion

Estas en el tema de left join con condicion en el foro de Mysql en Foros del Web. Hola, tengo un pequeño problema que no se muy bien como resolver. Tengo una TABLA ID NOMBRE IDCODIGO 1 - Aaaaaa - #11 2 - ...
  #1 (permalink)  
Antiguo 13/03/2013, 03:09
Avatar de Pentaxeros  
Fecha de Ingreso: mayo-2008
Mensajes: 173
Antigüedad: 16 años, 6 meses
Puntos: 3
left join con condicion

Hola, tengo un pequeño problema que no se muy bien como resolver.

Tengo una TABLA
ID NOMBRE IDCODIGO
1 - Aaaaaa - #11
2 - bbbbbb - #12
3 - ccccccc - #13
4 - dddddd - #11
5 - fffffffffff - #12

Y LUEGO TENGO UNA TABLA DE CODIGOS
IDCODIGO - TIPO
11 - Blanco
12 - Azul
13 - Naranja
14 - Verde


Quiero hacer un
SELECT * FROM `TABLA`
LEFT JOIN `CODIGOS`ON `TABLA`.`IDCODIGO`=`CODIGOS`.`IDCODIGO`

El problema es que en la TABLA, el campo IDCODIGO siempre va a llevar una # delante, y en la tabla de codigos no lo lleva porque ademas el campo IDCODIGO en CODIGOS es Autoincrement para evitar dublicados.

En la igualdad `TABLA`.`IDCODIGO`=`CODIGOS`.`IDCODIGO` deberia de alguna manera poder eliminar el primer caracter de `TABLA`.`IDCODIGO`

Alguna idea???

Gracias!
  #2 (permalink)  
Antiguo 13/03/2013, 03:43
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: left join con condicion

¿Y para qué lleva ese "#"?
No se ve el sentido, desde el punto de vista de la arquitectura de datos, y si me dices que lo necesitas así en la aplicación... eso se resuelve en aplicación y no ensuciando datos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 13/03/2013, 17:12
 
Fecha de Ingreso: diciembre-2011
Mensajes: 35
Antigüedad: 12 años, 11 meses
Puntos: 9
Respuesta: left join con condicion

creo que podrias hacerlo con lo siguiente.

Código MySQL:
Ver original
  1. LEFT JOIN `CODIGOS`ON REPLACE(`TABLA`.`IDCODIGO`,'#','')=`CODIGOS`.`IDCODIGO`

Etiquetas: campo, join, left, select, tabla
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 22:26.