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

Cambio de columna

Estas en el tema de Cambio de columna en el foro de Bases de Datos General en Foros del Web. Hola a todos, Tengo una pequeña duda. He hecho un progrma que lo que hace es generar numeros aleatorios al clicar en un boton y ...
  #1 (permalink)  
Antiguo 13/04/2009, 12:12
 
Fecha de Ingreso: abril-2009
Mensajes: 29
Antigüedad: 15 años, 7 meses
Puntos: 0
Cambio de columna

Hola a todos,

Tengo una pequeña duda.

He hecho un progrma que lo que hace es generar numeros aleatorios al clicar en un boton y me los guarda en una tabla de la base de datos, pero me los guarda en una sola columna. Me gustaría que alguien que me ayudar para hacer que se me guarden los numeros en dos columnas, es decir, la primera vez que le de lo guarda en "Columna uno", la segunda vez en "Columna dos", la tercera vez en "Columna uno", la cuarta vez en "Columna dos" etc...

Saludos
  #2 (permalink)  
Antiguo 13/04/2009, 12:26
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Cambio de columna

Que tal abcdefgh

La estructura de la tabla que tienes y
un ejemplo de lo que quieres?
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 13/04/2009, 13:01
 
Fecha de Ingreso: abril-2009
Mensajes: 29
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Cambio de columna

A mi el programa me hace esto

Columna
1
3
5
4
4
2
6
1

Yo quiero algo que se me juarde así en la tabla de la base de datos

Columna 1 Columna 2
1 3
5 4
4 2
6 1

Haber si se te ocurre algo huesos52, si no no importa que ya has hecho suficiente.

Saludos
  #4 (permalink)  
Antiguo 13/04/2009, 13:08
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 20 años, 4 meses
Puntos: 102
Respuesta: Cambio de columna

¿Programa escrito en qué?, quieres solucionar esto con querys?, ¿funciones sql? ... explicate.

La respuesta a tu consulta tal cuál está es: Pues guarda primero en una columna, posteriormente en otra... tal cual lo quieres. ¿Cuál es tu problema?.

Un saludo
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 13/04/2009, 13:11
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Cambio de columna

para hacer esto te puedes valer de la función count.

Antes de insertar el numero generado por random, cuentas los registros de ambas columnas.

Por ejemplo.

tabla1
columna1 ____________columna 2
1 ------------------------- 34
76 ----------------------- 47
23

Si haces un select count(columna1) from tabla1 te va a retornar un 3.
Si haces un select count(columna2) from tabla1 te va a retornar un 2.

Como el conteo en columna2 es menor, lo insertas en columna 2. Si son iguales lo insertas en columna1. Y así sucesivamente

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #6 (permalink)  
Antiguo 13/04/2009, 13:27
 
Fecha de Ingreso: abril-2009
Mensajes: 29
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Cambio de columna

Gracias huesos52, creo que ya se lo que dices. Por cierto, en el foro sobre javascript también he planteado un problema, haber si le puedes echar un vistazo.

Un saludo.
  #7 (permalink)  
Antiguo 13/04/2009, 13:31
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 20 años, 4 meses
Puntos: 102
Respuesta: Cambio de columna

Cita:
Iniciado por huesos52 Ver Mensaje
Como el conteo en columna2 es menor, lo insertas en columna 2. Si son iguales lo insertas en columna1. Y así sucesivamente
... ¿y preguntando por el valor para columna2 del último registro?; si es null se inserta, sino se crea un nuevo registro ... en teoría sería más eficiente.

Aunque sigo sin entender ... pero bueno.

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #8 (permalink)  
Antiguo 13/04/2009, 13:44
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 8 meses
Puntos: 300
Respuesta: Cambio de columna

una aclaración a la propuesta de huesos52. Si se usa un campo numérico que no acepte null, escribirá 0 en la columna2 cuando inserte en la columna1, por lo que de nada servirá el count. Para eso deberías permitir el nulo en la segunda columna (si quieres sólo en ella), y controlar la cuenta así. De esa manera incluso te bastaría una consulta: si columna2 del último registro is null haces el update añadiendo el dato en la segunda columna; si no es null insertas el nuevo valor en el primer campo de un nuevo registro. Por cierto, que no sabemos cómo averiguas cuál es el último registro sin tener un campo id auto_increment, una fecha-hora o algún campo que te sirva para diferenciar.

Se me ha adelantado jam1138. Saludos
  #9 (permalink)  
Antiguo 13/04/2009, 13:52
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Cambio de columna

Tienen razón jam1138 y jurena.
Es mas eficiente.

Gracias a ambos.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #10 (permalink)  
Antiguo 13/04/2009, 23:18
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 8 meses
Puntos: 300
Respuesta: Cambio de columna

abcdefgh,
como dice huesos52, jam1138 tiene razón, pero creo que la tiene en todo. Porque la primera pregunta que yo me hago es para qué todo esto. Si lo que quieres es mostrar en dos columnas los datos, mostrarlos solamente, yo mantendría una sola columna, como dices tener en el post 2, y luego mediante programación resolvería lo que es un sencillo problema con un contador y algo de html, pero eso depende de si la razón de esto es mostrarlo en dos columnas solamente, y tendrías que pedir ayuda en el foro del programa que uses.

Saludos a todos.
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 23:00.