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

CANCAT para un campo para siempre

Estas en el tema de CANCAT para un campo para siempre en el foro de Mysql en Foros del Web. Hola la verdad soy nuevo en esto de mysql y php y esta pagina me ha servido bastante, no saben cuanto y quiero comenzar agradeciendoles ...
  #1 (permalink)  
Antiguo 10/03/2009, 10:43
 
Fecha de Ingreso: marzo-2009
Mensajes: 41
Antigüedad: 15 años, 1 mes
Puntos: 1
CANCAT para un campo para siempre

Hola la verdad soy nuevo en esto de mysql y php y esta pagina me ha servido bastante, no saben cuanto y quiero comenzar agradeciendoles a todos por el foro y a los que ayuda con sus conocimientos (espero ser uno de esos algun dia).

ya mi duda, y la verdad nose si sera posible.

Quiero que para un campo de una Tabla siempre sea una concatenacion (nose si se dira asi) de 3 campos de la misma tabla, con la idea de que siempre tome ese valor cuando se ingrese una nueva fila o cuando la fila sea editada, algo asi como una funcion dentro del campo como un timestamp o autoincrement.

necesito que sea asi para ordenar de acendente y decendente tomando esas 3 valores en cuenta y para luego poder mostrarlos en php como uno solo y otras veses como individuales.
  #2 (permalink)  
Antiguo 10/03/2009, 13:01
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: CANCAT para un campo para siempre

Aunque no estoy totalmente seguro de lo que te diré ahora, voy a decírtelo.

Si trabajas con PHP, no tienes por qué reunir el campo en otro campo; siempre podrás reunirlo en la consulta mediante CONCAT (en MySQL), y si te empeñas, puedes hacerlo con PHP. Puedes ordenar por los tres separados o por los tres juntos ordenando por el CONCAT, y no sé cuál es la razón por la que quieres hacer eso. Es cierto que podrías crear dos triggers, uno de inserción y otro de actualización para concatenar los valores en otro campo, pero para qué almacenar y gastar espacio en lo que puedes generar cuando lo necesites. En resumen, si los tienes separados podrás hacer todo lo que quieras.
  #3 (permalink)  
Antiguo 10/03/2009, 14:04
 
Fecha de Ingreso: marzo-2009
Mensajes: 41
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: CANCAT para un campo para siempre

hmm, es complicado mi problema como para explicarlo desde 0, pero basicamente necesito saber Como hago una consulta en mysql para que me ordene de mayor y menor por el primer campo y si hay 2 iguales por el segundo y si el 1° y 2° son iguales por el 3° y para finalizar si son iguales el 1°,2° y 3° campo que discrimine por fecha y por ultimo por id.

Es una consulta para que me lo muestre de esa manera despues en una tabla en php.
Tengo ese problema por que estoy haciendo una tabla en php donde al hacerle click a una columna me ordena de asendente y decendente y la ultima columna es una union de esos 3 campos.
  #4 (permalink)  
Antiguo 10/03/2009, 14:20
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: CANCAT para un campo para siempre

SELECT CONCAT(campo1,campo2, campo3) trescampos FROM tabla ORDER BY campo1 DESC, campo2 DESC, campo3 DESC, fecha, id

en los campos en que no se añade DESC la ordenación por defecto es ASC. Si los campos 1, 2 y 3 son numéricos hay que hacer cast a numéricos para el CONCAT.
  #5 (permalink)  
Antiguo 10/03/2009, 14:22
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: CANCAT para un campo para siempre

Buscas algo como esto??

esto te ordenará por prioridades
Código sql:
Ver original
  1. SELECT * FROM tu_tabla ORDER BY campo1, campo2, campo3, fecha, id

Jurena me ganaste :)
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #6 (permalink)  
Antiguo 12/03/2009, 15:29
 
Fecha de Ingreso: marzo-2009
Mensajes: 41
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: CANCAT para un campo para siempre

ho gracias no sabia que el order by funcionaba con varios campos a la vez.
me siento totalmente noob en el tema.

Gracias por la rapida respuesta.
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 14:32.