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

Crear una matriz en MySQL

Estas en el tema de Crear una matriz en MySQL en el foro de Bases de Datos General en Foros del Web. Quiero calcular el IMC de varias personas. La fórmula es la siguiente: imc=peso/(talla*talla); Condiciones: *entradas: peso,talla *salidas: imc *restricciones: -hacer una comparación de acuerdo a ...
  #1 (permalink)  
Antiguo 02/09/2011, 13:49
Avatar de ARICARRARO  
Fecha de Ingreso: diciembre-2010
Ubicación: México
Mensajes: 227
Antigüedad: 13 años, 4 meses
Puntos: 10
Busqueda Crear una matriz en MySQL

Quiero calcular el IMC de varias personas.

La fórmula es la siguiente:
imc=peso/(talla*talla);

Condiciones:

*entradas: peso,talla
*salidas:imc
*restricciones:
-hacer una comparación de acuerdo a una lista de "imc ideal" que encontré
-debe ser con BD (voy a usar MySQL)

Mi idea es crear una base de datos llamado personas y tres tablas: pesos, tallas y resultados(imc)

Hasta ahi todo bien, ya llené la tabla con los registros de la "tabla de imc ideal" que encontré.

Según yo asi es como se puede hacer (es solo un ejemplo no lo he hecho todavia):

var peso="select peso from pesos";
var talla"select talla from tallas";
var resultado=peso/(talla*talla);
var query="update resultados set imc=resultado";


Problema: los pesos son 21 registros y las tallas solo 17, ¿Es necesario hacer una matriz?
  #2 (permalink)  
Antiguo 02/09/2011, 14:22
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Crear una matriz en MySQL

Una matriz?? una base de datos es un arreglo de elementos, si lo quieres ver asi, entonces no seria necesario hacer una matriz aqui tendrias que hacer una consulta con tus 2 tablas y sacar los resultados que necesitas :)

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 02/09/2011, 14:38
Avatar de ARICARRARO  
Fecha de Ingreso: diciembre-2010
Ubicación: México
Mensajes: 227
Antigüedad: 13 años, 4 meses
Puntos: 10
Respuesta: Crear una matriz en MySQL

Cita:
Iniciado por Libras Ver Mensaje
Una matriz?? una base de datos es un arreglo de elementos, si lo quieres ver asi, entonces no seria necesario hacer una matriz aqui tendrias que hacer una consulta con tus 2 tablas y sacar los resultados que necesitas :)

saludos!
Lo que quiero hacer una aplicación que pida peso y talla y dea cuerdo a la tabla de indice de imc ideal haga una comparación. No quiero hacerla consulta directamente en MySQL si no desde la aplicación.

Del código no hay problema solo esa era mi duda (la matriz).

Gracias por responder.

Edit:

Problema: los pesos son 21 registros y las tallas solo 17, ¿Es necesario hacer una matriz?

Última edición por ARICARRARO; 02/09/2011 a las 14:50 Razón: ortografía
  #4 (permalink)  
Antiguo 02/09/2011, 15:07
Avatar de ARICARRARO  
Fecha de Ingreso: diciembre-2010
Ubicación: México
Mensajes: 227
Antigüedad: 13 años, 4 meses
Puntos: 10
Respuesta: Crear una matriz en MySQL

Lo que llevo:

mysql> select peso from pesos;

+------+
| peso |
+------+
| 45 |
| 48 |
| 51 |
| 54 |
| 57 |
| 60 |
| 63 |
| 66 |
| 69 |
| 72 |
| 75 |
| 78 |
| 81 |
| 84 |
| 87 |
| 90 |
| 93 |
| 96 |
| 99 |
| 102 |
| 105 |
+------+
21 rows in set (0.02 sec)

mysql> select talla from tallas;
+-------+
| talla |
+-------+
| 1.5 |
| 1.53 |
| 1.56 |
| 1.59 |
| 1.62 |
| 1.65 |
| 1.68 |
| 1.71 |
| 1.74 |
| 1.77 |
| 1.8 |
| 1.83 |
| 1.86 |
| 1.89 |
| 1.92 |
| 1.95 |
| 1.98 |
+-------+

Pesos: 21 registros
Tallas: 17 registros

Quiero hacer un programa que pida el peso y la talla, calcule el imc y compare de acuerdo a la lista de imc ideal.
  #5 (permalink)  
Antiguo 02/09/2011, 16:29
Avatar de ARICARRARO  
Fecha de Ingreso: diciembre-2010
Ubicación: México
Mensajes: 227
Antigüedad: 13 años, 4 meses
Puntos: 10
Respuesta: Crear una matriz en MySQL

Algunas soluciones:

-Ver los registros de las tablas pesos y tallas:

select peso,talla from pesos inner join tallas;

+------+-------+
| peso | talla |
+------+-------+
| 45 | 1.5 |
| 45 | 1.53 |
| 45 | 1.56 |
| 45 | 1.59 |
| 45 | 1.62 |
| 45 | 1.65 |
| 45 | 1.68 |
| 45 | 1.71 |
| 45 | 1.74 |
| 45 | 1.77 |
| 45 | 1.8 |
| 45 | 1.83 |
| 45 | 1.86 |
| 45 | 1.89 |
| 45 | 1.92 |
| 45 | 1.95 |
| 45 | 1.98 |
| 48 | 1.5 |
| 48 | 1.53 |
| 48 | 1.56 |
| 48 | 1.59 |
| 48 | 1.62 |
| 48 | 1.65 |
| 48 | 1.68 |
| 48 | 1.71 |
| 48 | 1.74 |
| 48 | 1.77 |
| 48 | 1.8 |
| 48 | 1.83 |
| 48 | 1.86 |
| 48 | 1.89 |
| 48 | 1.92 |
| 48 | 1.95 |
| 48 | 1.98 |
| 51 | 1.5 |
| 51 | 1.53 |
| 51 | 1.56 |
| 51 | 1.59 |
| 51 | 1.62 |
| 51 | 1.65 |
| 51 | 1.68 |
| 51 | 1.71 |
| 51 | 1.74 |
| 51 | 1.77 |
| 51 | 1.8 |
| 51 | 1.83 |
| 51 | 1.86 |
| 51 | 1.89 |
| 51 | 1.92 |
| 51 | 1.95 |
| 51 | 1.98 |
| 54 | 1.5 |
| 54 | 1.53 |
| 54 | 1.56 |
| 54 | 1.59 |
| 54 | 1.62 |
| 54 | 1.65 |
| 54 | 1.68 |
| 54 | 1.71 |
| 54 | 1.74 |
| 54 | 1.77 |
| 54 | 1.8 |
| 54 | 1.83 |
| 54 | 1.86 |
| 54 | 1.89 |
| 54 | 1.92 |
| 54 | 1.95 |
| 54 | 1.98 |
| 57 | 1.5 |
| 57 | 1.53 |
| 57 | 1.56 |
| 57 | 1.59 |
| 57 | 1.62 |
| 57 | 1.65 |
| 57 | 1.68 |
| 57 | 1.71 |
| 57 | 1.74 |
| 57 | 1.77 |
| 57 | 1.8 |
| 57 | 1.83 |
| 57 | 1.86 |
| 57 | 1.89 |
| 57 | 1.92 |
| 57 | 1.95 |
| 57 | 1.98 |
| 60 | 1.5 |
| 60 | 1.53 |
| 60 | 1.56 |
| 60 | 1.59 |
| 60 | 1.62 |
| 60 | 1.65 |
| 60 | 1.68 |
| 60 | 1.71 |
| 60 | 1.74 |
| 60 | 1.77 |
| 60 | 1.8 |
| 60 | 1.83 |
| 60 | 1.86 |
| 60 | 1.89 |
| 60 | 1.92 |
| 60 | 1.95 |
| 60 | 1.98 |
| 63 | 1.5 |
| 63 | 1.53 |
| 63 | 1.56 |
| 63 | 1.59 |
| 63 | 1.62 |
| 63 | 1.65 |
| 63 | 1.68 |
| 63 | 1.71 |
| 63 | 1.74 |
| 63 | 1.77 |
| 63 | 1.8 |
| 63 | 1.83 |
| 63 | 1.86 |
| 63 | 1.89 |
| 63 | 1.92 |
| 63 | 1.95 |
| 63 | 1.98 |
| 66 | 1.5 |
| 66 | 1.53 |
| 66 | 1.56 |
| 66 | 1.59 |
| 66 | 1.62 |
| 66 | 1.65 |
| 66 | 1.68 |
| 66 | 1.71 |
| 66 | 1.74 |
| 66 | 1.77 |
| 66 | 1.8 |
| 66 | 1.83 |
| 66 | 1.86 |
| 66 | 1.89 |
| 66 | 1.92 |
| 66 | 1.95 |
| 66 | 1.98 |
| 69 | 1.5 |
| 69 | 1.53 |
| 69 | 1.56 |
| 69 | 1.59 |
| 69 | 1.62 |
| 69 | 1.65 |
| 69 | 1.68 |
| 69 | 1.71 |
| 69 | 1.74 |
| 69 | 1.77 |
| 69 | 1.8 |
| 69 | 1.83 |
| 69 | 1.86 |
| 69 | 1.89 |
| 69 | 1.92 |
| 69 | 1.95 |
| 69 | 1.98 |
| 72 | 1.5 |
| 72 | 1.53 |
| 72 | 1.56 |
| 72 | 1.59 |
| 72 | 1.62 |
| 72 | 1.65 |
| 72 | 1.68 |
| 72 | 1.71 |
| 72 | 1.74 |
| 72 | 1.77 |
| 72 | 1.8 |
| 72 | 1.83 |
| 72 | 1.86 |
| 72 | 1.89 |
| 72 | 1.92 |
| 72 | 1.95 |
| 72 | 1.98 |
| 75 | 1.5 |
| 75 | 1.53 |
| 75 | 1.56 |
| 75 | 1.59 |
| 75 | 1.62 |
| 75 | 1.65 |
| 75 | 1.68 |
| 75 | 1.71 |
| 75 | 1.74 |
| 75 | 1.77 |
| 75 | 1.8 |
| 75 | 1.83 |
| 75 | 1.86 |
| 75 | 1.89 |
| 75 | 1.92 |
| 75 | 1.95 |
| 75 | 1.98 |
| 78 | 1.5 |
| 78 | 1.53 |
| 78 | 1.56 |
| 78 | 1.59 |
| 78 | 1.62 |
| 78 | 1.65 |
| 78 | 1.68 |
| 78 | 1.71 |
| 78 | 1.74 |
| 78 | 1.77 |
| 78 | 1.8 |
| 78 | 1.83 |
| 78 | 1.86 |
| 78 | 1.89 |
| 78 | 1.92 |
| 78 | 1.95 |
| 78 | 1.98 |
| 81 | 1.5 |
| 81 | 1.53 |
| 81 | 1.56 |
| 81 | 1.59 |
| 81 | 1.62 |
| 81 | 1.65 |
| 81 | 1.68 |
| 81 | 1.71 |
| 81 | 1.74 |
| 81 | 1.77 |
| 81 | 1.8 |
| 81 | 1.83 |
| 81 | 1.86 |
| 81 | 1.89 |
| 81 | 1.92 |
| 81 | 1.95 |
| 81 | 1.98 |
| 84 | 1.5 |
| 84 | 1.53 |
| 84 | 1.56 |
| 84 | 1.59 |
| 84 | 1.62 |
| 84 | 1.65 |
| 84 | 1.68 |
| 84 | 1.71 |
| 84 | 1.74 |
| 84 | 1.77 |
| 84 | 1.8 |
| 84 | 1.83 |
| 84 | 1.86 |
| 84 | 1.89 |
| 84 | 1.92 |
| 84 | 1.95 |
| 84 | 1.98 |
| 87 | 1.5 |
| 87 | 1.53 |
| 87 | 1.56 |
| 87 | 1.59 |
| 87 | 1.62 |
| 87 | 1.65 |
| 87 | 1.68 |
| 87 | 1.71 |
| 87 | 1.74 |
| 87 | 1.77 |
| 87 | 1.8 |
| 87 | 1.83 |
| 87 | 1.86 |
| 87 | 1.89 |
| 87 | 1.92 |
| 87 | 1.95 |
| 87 | 1.98 |
| 90 | 1.5 |
| 90 | 1.53 |
| 90 | 1.56 |
| 90 | 1.59 |
| 90 | 1.62 |
| 90 | 1.65 |
| 90 | 1.68 |
| 90 | 1.71 |
| 90 | 1.74 |
| 90 | 1.77 |
| 90 | 1.8 |
| 90 | 1.83 |
| 90 | 1.86 |
| 90 | 1.89 |
| 90 | 1.92 |
| 90 | 1.95 |
| 90 | 1.98 |
| 93 | 1.5 |
| 93 | 1.53 |
| 93 | 1.56 |
| 93 | 1.59 |
| 93 | 1.62 |
| 93 | 1.65 |
| 93 | 1.68 |
| 93 | 1.71 |
| 93 | 1.74 |
| 93 | 1.77 |
| 93 | 1.8 |
| 93 | 1.83 |
| 93 | 1.86 |
| 93 | 1.89 |
| 93 | 1.92 |
| 93 | 1.95 |
| 93 | 1.98 |
| 96 | 1.5 |
| 96 | 1.53 |
| 96 | 1.56 |
| 96 | 1.59 |
| 96 | 1.62 |
| 96 | 1.65 |
| 96 | 1.68 |
| 96 | 1.71 |
| 96 | 1.74 |
| 96 | 1.77 |
| 96 | 1.8 |
| 96 | 1.83 |
| 96 | 1.86 |
| 96 | 1.89 |
| 96 | 1.92 |
| 96 | 1.95 |
| 96 | 1.98 |
| 99 | 1.5 |
| 99 | 1.53 |
| 99 | 1.56 |
| 99 | 1.59 |
| 99 | 1.62 |
| 99 | 1.65 |
| 99 | 1.68 |
| 99 | 1.71 |
| 99 | 1.74 |
| 99 | 1.77 |
| 99 | 1.8 |
| 99 | 1.83 |
| 99 | 1.86 |
| 99 | 1.89 |
| 99 | 1.92 |
| 99 | 1.95 |
| 99 | 1.98 |
| 102 | 1.5 |
| 102 | 1.53 |
| 102 | 1.56 |
| 102 | 1.59 |
| 102 | 1.62 |
| 102 | 1.65 |
| 102 | 1.68 |
| 102 | 1.71 |
| 102 | 1.74 |
| 102 | 1.77 |
| 102 | 1.8 |
| 102 | 1.83 |
| 102 | 1.86 |
| 102 | 1.89 |
| 102 | 1.92 |
| 102 | 1.95 |
| 102 | 1.98 |
| 105 | 1.5 |
| 105 | 1.53 |
| 105 | 1.56 |
| 105 | 1.59 |
| 105 | 1.62 |
| 105 | 1.65 |
| 105 | 1.68 |
| 105 | 1.71 |
| 105 | 1.74 |
| 105 | 1.77 |
| 105 | 1.8 |
| 105 | 1.83 |
| 105 | 1.86 |
| 105 | 1.89 |
| 105 | 1.92 |
| 105 | 1.95 |
| 105 | 1.98 |
+------+-------+
357 rows in set (0.00 sec)

La solución que he pensado es:

"insert into resultados values( select peso,talla from pesos inner join tallas) ";
en el color rojo no se si este bien esto
  #6 (permalink)  
Antiguo 03/09/2011, 11:43
Avatar de ARICARRARO  
Fecha de Ingreso: diciembre-2010
Ubicación: México
Mensajes: 227
Antigüedad: 13 años, 4 meses
Puntos: 10
Respuesta: Crear una matriz en MySQL

Solucionado:

Se trataba de hacer una consulta:

insert into resultados select peso/(talla*talla) from pesos inner join tallas;

Y otra forma sin almacenar solo mostrar:

select peso,talla,peso/(talla*talla) from pesos inner join tallas;

Etiquetas: guardar+base+datos, mysql, registro, bases-de-datos
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 20:34.