Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/02/2014, 00:36
sabeque
 
Fecha de Ingreso: junio-2013
Mensajes: 9
Antigüedad: 10 años, 11 meses
Puntos: 0
relacionar dos tablas

Buenas noches.
Sigo sin entender como relacionar dos tablas.

la primera tabla la cree asi:

mysql> CREATE TABLE numeros (id_codigo INT NOT NULL AUTO_INCREMENT,prim INT NULL, segu INT NULL,terc INT NULL, PRIMARY KEY (id_codigo))ENGINE=INNODB;

después le cargue datos desde un txt

LOAD DATA INFILE '/xxxxx/yyyyyy/PRUEBAS/APRENDIENDO/datos.txt' INTO TABLE numeros FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (prim, segu, terc);

y en la tabla se ve asi:

mysql> select * from numeros;
+-----------+------+------+------+
| id_codigo | prim | segu | terc |
+-----------+------+------+------+
| 1 | 0 | 1 | 2 |
| 2 | 0 | 1 | 3 |
| 3 | 0 | 1 | 4 |
| 4 | 0 | 1 | 5 |
| 5 | 0 | 1 | 6 |
| 6 | 0 | 1 | 7 |
| 7 | 0 | 1 | 8 |
| 8 | 0 | 1 | 9 |
| 9 | 0 | 2 | 3 |
| 10 | 0 | 2 | 4 |
| 11 | 0 | 2 | 5 |
| 12 | 0 | 2 | 6 |
| 13 | 0 | 2 | 7 |
| 14 | 0 | 2 | 8 |
| 15 | 0 | 2 | 9 |
| 16 | 0 | 3 | 4 |
| 17 | 0 | 3 | 5 |
| 18 | 0 | 3 | 6 |
| 19 | 0 | 3 | 7 |
| 20 | 0 | 3 | 8 |

etc: hasta el id_codigo 120
__________________________________________________ _________________________

luego tengo otra tabla que me dice cuantos numeros primos hay en el id:codigo 1, 2 , 3 etc
por ejemplo:

id_codigo,,
prim segu terc
| 1 | 0 | 1 | 2 |........................................... un numero primo
| 2 | 0 | 1 | 3 |...........................................un numero primo
| 3 | 0 | 1 | 4 |...........................................ningún numero primo
| 4 | 0 | 1 | 5 |...........................................un numero primo

la segunda tabla tiene la cantidad de numeros primos:

mysql> CREATE TABLE primos (id_primos INT NOT NULL AUTO_INCREMENT, primos INT, PRIMARY KEY(id_primos), id_codigo INT, FOREIGN KEY(id_codigo) REFERENCES numeros(id_codigo))ENGINE=INNODB;

le carge los datos:

mysql> LOAD DATA INFILE '/xxxxx/yyyyyy/PRUEBAS/APRENDIENDO/primos.txt' INTO TABLE primos FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (primos);

se ve asi:

id_primos primos
1 1
2 1
3 0
4 1

y asi hasta el id_primos 120

algunas convinaciones de la primera tabla tienen 2 o 3 numeros primos, por ejemplo:

id_codigo,,
prim segu terc
| 10 | 1 | 2 | 3 |........................................... dos numeros primos
| 11 | 0 | 1 | 3 |...........................................un numero primo
| 12 | 2 | 3 | 5 |...........................................tres numeros primos
| 13| 0 | 1 | 5 |...........................................un numero primo

COMO RELACIONO LAS DOS TABLAS, PARA QUE CUANDO CONSULTE POR EJEMPLO:

SELECT * FROM numeros where id_codigo BETWEEN 12 AND 50;

SALGA ALGO ASI:
id_codigo id_primos primos
| 12 | 0 | 2 | 6 | x 1
| 13 | 0 | 2 | 7 | x 2
| 14 | 0 | 2 | 8 | x 1
| 15 | 0 | 2 | 9 | x 1
| 16 | 0 | 3 | 4 | x 1
| 17 | 0 | 3 | 5 | x 2
| 18 | 0 | 3 | 6 | x 1
| 19 | 0 | 3 | 7 | x 2
| 20 | 0 | 3 | 8 | x 1

etc..............hasta id_codigo 50

GRACIAS POR SU AYUDA!!!!!!