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

Agregar columna automaticamente

Estas en el tema de Agregar columna automaticamente en el foro de Mysql en Foros del Web. Hola Amigos: Tengo un duda en como poder agregar un campo en una tabla automaticamente, esta es mi situacion, tengo 3 tablas en una base ...
  #1 (permalink)  
Antiguo 05/01/2010, 15:10
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años
Puntos: 38
Agregar columna automaticamente

Hola Amigos:

Tengo un duda en como poder agregar un campo en una tabla automaticamente, esta es mi situacion, tengo 3 tablas en una base de datos, la primera tabla se llama "personal" y tiene 2 campos

nombreID y nombre

la 2da tabla se llama "personal_datos" y tiene 2 campos mas

nombreID y codigo

la 3ra tabla se llama "estadistica" tiene varios campos entre ellos uno que se llama codigo

lo que quiero lorar es agregar automaticamente a esta tabla "estadistica" el valor de nombre, debido a que esta tabla "estadistica" varia mensualmente no puedo agregarle el valor fijo, cada mes puede venir un codigo que en el proximo no venga.

O sea, cada nombre puede tener varios codigos que lo tengo declarado en la tabla "personal_datos", que pueden estar presente un mes y otro no en la tabla "estadistica", lo que debo lograr es que la consulta tome cada codigo de la tabla "estadistica" (que no se repite es mi clave principal) y busque en la tabla de "personal_datos" el nombreID, luego con ese valor me busque en la tabla "personal" el nombre y por ultimo me agregue en la tabla "estadistica" el nombre de cada persona referente a su codigo.

Saludos y muchas gracias de antemano.

PD: estoy trabajando desde PHP por si necesitan ese dato.
  #2 (permalink)  
Antiguo 06/01/2010, 01:15
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Agregar columna automaticamente

rolygc,
acláranos con algún ejemplo qué significa esto:
cada nombre puede tener varios codigos que lo tengo declarado en la tabla "personal_datos"
En mi opinión deberías poder resolverlo fácilmente con el nombreID, que debería estar presente en la primera tabla como PRIMARY KEY, y en las otras dos como FOREIGN KEY. Pero preséntanos algún ejemplo para que podamos orientarte mejor.
  #3 (permalink)  
Antiguo 07/01/2010, 15:59
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años
Puntos: 38
Respuesta: Agregar columna automaticamente

Hola Jurena, he tenido problemas con la coneccion por eso mi tardia respuesta.

Las tablas que tengo son las siguientes,

TABLA:

| personal |
--------------
nombreID | nombre |
-------------------------|
1 | Pepe |
-------------------------|
2 | Juan |
-------------------------|
3 | Pedro |
-------------------------|

TABLA:

| personal_datos |
-----------------------
nombreID | codigo |
------------------------
1 | 1234 |
-------------|----------|
1 | 4321 |
-------------|----------|
2 | 9876 |
-------------|----------|
2 | 6789 |
-------------|----------|

TABLA:

| estadisticas |
------------------
| nombre | codico |
------------|----------|
NULL | 1234 |
------------|----------|
NULL | 9876 |
------------|----------|
NULL | 6789 |
------------|----------|


La tabla estadistica varia mensualmente por lo que no puedo declarar un valor fijo, debido a que un codigo puede estar presente un mes, pero el proximo no, por lo que, lo que quiero lograr es tomar el valor de cada codigo en la tabla estadistica, que busque en la tabla de personal_datos el valor del nombreID y de ahi con ese resultado me tome el valor del nombre y colocarlo en la tabla estadistica automaticamente. Cada nombre al lado de su codigo.

En la primera tabla tengo declarado todos los nombres con su ID con la clave principal nombreID

en la segunda tabla personal_datos, tengo declarado todos los nombreID que responde a un nombre y cada codigo representa a una persona, cada persona puede tener varios codigos, la clave principal es codigo en esta tabla,

y la tabla estadisticas tiene los codigos que varian mensualmente a esta es la que le agregue un campo vacio que se llama nombre y le quiero agregar el nombre correspondiente a cada codigo, o el nombreID y depsues buscar el nombre a traves del nombreID de cada codigo,


Espero haberme explicado mejor.

Gracias de antemano.
  #4 (permalink)  
Antiguo 08/01/2010, 05:29
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Agregar columna automaticamente

No tienes por qué agregar nombre en la tabla estadística si codico de esa tabla es igual al codigo de la tabla personal_datos y en personal_datos tienes el campo nombreID que relacionas con nombreID de personal. Observa esta consulta.
SELECT * FROM estadisticas e INNER JOIN personal_datos pd ON e.codico = pd.codigo INNER JOIN personal ON p.nombreID = pd.nombreID
Este es el punto de partida, pero imagino que querrás sacar algún dato estadístico, como una cuenta de algo. Dinos exactamente qué, y te proporcionaremos alguna consulta que te sirva.
Lo que no tiene sentido es la existencia de la tabla estadística con esos campos, si sólo son esos campos. La tabla personal_datos hace esa función, si es que no añades otros datos en estadística.
  #5 (permalink)  
Antiguo 08/01/2010, 15:06
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años
Puntos: 38
Respuesta: Agregar columna automaticamente

Hola Jurena, en verdad la tabla estadistica tiene muchos mas campos lo ke no venia al caso estar escribeindolos, a ver, esta tabla tiene el campo "codigo" y tiene 5 campos mas "fecha", "ciudad", "direccion", "estado", "refencia".

el objetivo final que quiero lograr, es el siguiente.

estos datos varian mensualmente.

y lo que quiero es poder obtener un reporte mensual, en el que me agregue a esta tabla el nombre de la persona por cada codigo presente en esta tabla.


o sea, que seria buscar el nombre de cada persona en la tabla personal, a traves de cada codigo presente en la tabla estadistica.

agregarlo y depsues ke me muestre todo el contenido de esa tabla para poder realizar el reporte mensual.

lo ke no tengo ni la mas minima idea de como puedo, tomar cada codigo en la tabla estadistica, y decirle que por cada codigo, me vaya agregan el nombre de la persona ke responde a ese codigo.

Saludos una ves mas, espero haberme explicado mejor
  #6 (permalink)  
Antiguo 09/01/2010, 02:08
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Agregar columna automaticamente

Pienso que esa asignación a la tabla estadística no debes hacerla como nombre, sino como nombreID.
Y sin embargo lo que tú guardas es codico que está relacionado con codigo de personal_datos. ¿Qué significan esos codigo de personal_datos? ¿por qué un mismo nombre tiene varios codigo en esa tabla? Aclaranos eso, porque ahí creo que está el problema. ¿Por qué Pepe tiene los codigo 1234 y 4321, qué significa eso exactamente?

1 | 1234 |
-------------|----------|
1 | 4321 |

Etiquetas: automaticamente, columna
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 07:19.