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

[SOLUCIONADO] unir campos de tabla con constraint y substring?

Estas en el tema de unir campos de tabla con constraint y substring? en el foro de Mysql en Foros del Web. Hola a todos, quisiera hacerles una consulta a quien me pudiera colaborar resulta que tengo una tabla llamada tiendas con campos: id=auto increment, numero= int, ...
  #1 (permalink)  
Antiguo 19/03/2013, 08:52
 
Fecha de Ingreso: diciembre-2012
Mensajes: 249
Antigüedad: 11 años, 4 meses
Puntos: 2
Pregunta unir campos de tabla con constraint y substring?

Hola a todos, quisiera hacerles una consulta a quien me pudiera colaborar

resulta que tengo una tabla llamada tiendas
con campos:
id=auto increment,
numero= int,
ciudad=varchar,
fecha=datetime,
entre otros campos menos relevantes
quisiera crear un campo llamado codigo y que este tenga una letra al principio, las 4 primeras letras de la ciudad y el numero que le corresponde por ejemplo:
TMEDE12
se que se puede hacer la union de los campos con constraint y elegir las primeras 4 letras de la ciudad con substring pero no se como podria hacerlo y como agregar l primera letra yno se si todo se puede en una misma sentencia sql, les agradezco la colaboracion y toda la informacion que me puedran brindar
Muchas gracias!!
  #2 (permalink)  
Antiguo 19/03/2013, 12:49
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: unir campos de tabla con constraint y substring?

Hola summerblack:

Vayamos por partes... Si se trata de un campo que puedas calcular a través de la información que tienes en tu tabla en realidad no hay necesidad de tener físicamente el campo en la tabla... al momento de hacer un select puedes recuperar la información que necesitas, utilizando la función CONCAT para formar el campo. Checa este script:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM tabla;
  2. +----+--------+-------------+---------------------+
  3. | id | numero | ciudad      | fecha               |
  4. +----+--------+-------------+---------------------+
  5. |  1 |     12 | MADRID      | 2013-03-19 11:17:48 |
  6. |  2 |      1 | BARCELONA   | 2013-03-19 11:17:48 |
  7. |  3 |      5 | MEXICO      | 2013-03-19 11:17:48 |
  8. |  4 |     11 | GUADALAJARA | 2013-03-19 11:17:48 |
  9. |  5 |     24 | ATLANTA     | 2013-03-19 11:17:48 |
  10. |  6 |     12 | LA PAZ      | 2013-03-19 11:17:48 |
  11. +----+--------+-------------+---------------------+
  12. 6 rows in set (0.00 sec)
  13.  
  14. mysql> SELECT
  15.     ->   id, numero, ciudad,
  16.     ->   CONCAT('T', SUBSTRING(ciudad, 1, 4), numero) calculado
  17.     -> FROM TABLA;
  18. +----+--------+-------------+-----------+
  19. | id | numero | ciudad      | calculado |
  20. +----+--------+-------------+-----------+
  21. |  1 |     12 | MADRID      | TMADR12   |
  22. |  2 |      1 | BARCELONA   | TBARC1    |
  23. |  3 |      5 | MEXICO      | TMEXI5    |
  24. |  4 |     11 | GUADALAJARA | TGUAD11   |
  25. |  5 |     24 | ATLANTA     | TATLA24   |
  26. |  6 |     12 | LA PAZ      | TLA P12   |
  27. +----+--------+-------------+-----------+
  28. 6 rows in set (0.00 sec)

Observa el último caso, lo puse a propósito, la función substring considera el espacio como una posición más, por lo tanto cuando en el nombre de la ciudad existan espacios en las primeras cuatro posiciones apareceran en la clave... podrías eliminarlos de la clave, pero eso depende de tu lógica de negocio.

Saludos
Leo.
  #3 (permalink)  
Antiguo 20/03/2013, 15:13
 
Fecha de Ingreso: diciembre-2012
Mensajes: 249
Antigüedad: 11 años, 4 meses
Puntos: 2
Respuesta: unir campos de tabla con constraint y substring?

Muchisimassss graciasss !!! Si pues la verdad era un tipo de codigo que necesito crear para que a la hora de buscar por medio de este me traiga el registro de la tabla, pero si necesito que se guarde en un campo de la tabla para mas adelante poderlo consultar desde un formulario, como lo puedo hacer? bueno muchas gracias de nuevo

Última edición por summerblack; 20/03/2013 a las 15:36

Etiquetas: campo, campos, constraint, sql, 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 18:19.