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

sql en phpmyadmin

Estas en el tema de sql en phpmyadmin en el foro de Bases de Datos General en Foros del Web. necesito agregar esta consulta SELECT * FROM `peso_crudo` WHERE 1; SELECT (a11+a12+a13+a14+a15+a16+a17+a18/fila1) AS promedio1 FROM peso_crudo; en phpmy admin la cosa es k no me ...
  #1 (permalink)  
Antiguo 08/01/2004, 06:49
 
Fecha de Ingreso: noviembre-2003
Ubicación: Barcelona
Mensajes: 181
Antigüedad: 20 años, 5 meses
Puntos: 0
sql en phpmyadmin

necesito agregar esta consulta
SELECT * FROM `peso_crudo` WHERE 1;
SELECT (a11+a12+a13+a14+a15+a16+a17+a18/fila1) AS promedio1 FROM peso_crudo;

en phpmy admin

la cosa es k no me da error
pero nos e queda grabada tan solo me dice "Su consulta ha sido ejecutada con éxito"

pero no me la graba, alguien sabe como??
muchas gracias.
__________________
___________________________

DEL_DAN
  #2 (permalink)  
Antiguo 08/01/2004, 12:54
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
El primer SELECT, debe mostrarte todos los datos de la tabla peso_crudo.

La segunda (si interpreto bien) te va a mostrar una consulta sumando los campos del a11 al a18. Donde veo el problema es que no se si fila1 va a dividir a toda la suma o solo divide a18 para luego sumarlos a los demás campos.

Si fila1 va a dividir el resultado de la suma, debes acomodarlos así:
SELECT (a11+a12+a13+a14+a15+a16+a17+a18)/fila1 AS promedio1 FROM peso_crudo;

Ahora, ¿A qué te referis que no te graba? Estas haciendo una consulta y las consultas no graban. ¿Queres hacer un UPDATE o un INSERT?
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 09/01/2004, 05:04
 
Fecha de Ingreso: noviembre-2003
Ubicación: Barcelona
Mensajes: 181
Antigüedad: 20 años, 5 meses
Puntos: 0
si la cosa es esa k en mysql, quiero que eso se grabe, imagino que será un insert, para que esas tablas siempre me sumen.


asi que un consulta es solo para comporvar si la formula está bien??

si me pueden ayudar para poder inserta esa formula atraves de mysql, y si no fuese posible ocn este progrma diganme otro.

mucahs gracias por su atención.
__________________
___________________________

DEL_DAN
  #4 (permalink)  
Antiguo 09/01/2004, 09:19
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
El campo donde vas a almacenar el resultado está en la misma tabla?

Necesitas ser más claro para poder proporcionarte soluciones.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #5 (permalink)  
Antiguo 09/01/2004, 10:16
 
Fecha de Ingreso: noviembre-2003
Ubicación: Barcelona
Mensajes: 181
Antigüedad: 20 años, 5 meses
Puntos: 0
si está en la misma tabla.
pero el problema no es la formula
la formula se hacerla.

lo malo es que uso el phpmyadmin, y no se como se puede insertar una formula de esas.
o si se puede.
de momento solo me dejahacer consultas. pero eso no se me graba para siempre.

gracias.
__________________
___________________________

DEL_DAN
  #6 (permalink)  
Antiguo 09/01/2004, 11:04
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
UPDATE tabla SET campo_resultado = tu_formula
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #7 (permalink)  
Antiguo 14/01/2004, 03:59
 
Fecha de Ingreso: noviembre-2003
Ubicación: Barcelona
Mensajes: 181
Antigüedad: 20 años, 5 meses
Puntos: 0
por cierto para que s epueda hacer eso que tipo de tabla tiene k ser??

_MyISAM
_Heap
_Merge
_ISAM

o tiene k tener algo especial???

gracias.
__________________
___________________________

DEL_DAN
  #8 (permalink)  
Antiguo 14/01/2004, 11:33
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Cualquiera, el tipo de tabla no altera nada lo que es la sentencia SQL ya que es standard y cualquier BD debe cumplirlo.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #9 (permalink)  
Antiguo 14/01/2004, 11:44
 
Fecha de Ingreso: noviembre-2003
Ubicación: Barcelona
Mensajes: 181
Antigüedad: 20 años, 5 meses
Puntos: 0
una cosa cuando hacs un upate, los datos que hay se modifican segun la formula, pero los que pones posteriormente no son afectados, hay alguna manera para que una vez que ponas la formula afecte a todos los datos, tantos los que ya hay, como los que se pondrán despues.

lo siento por preguntar tanto es k soy nuevo en esto del sql.
__________________
___________________________

DEL_DAN
  #10 (permalink)  
Antiguo 14/01/2004, 12:05
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Para hacer los INSERT (con SQL puro o programado), tendrías que hacerlo de esta forma:

INSERT INTO tabla (col1,col2, col3,...,resultado) VALUES(1,2,3,..., (tu_formula));
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #11 (permalink)  
Antiguo 15/01/2004, 07:00
 
Fecha de Ingreso: noviembre-2003
Ubicación: Barcelona
Mensajes: 181
Antigüedad: 20 años, 5 meses
Puntos: 0
porque hay algun programa adecuado para hacer este tipo de cosas?
__________________
___________________________

DEL_DAN
  #12 (permalink)  
Antiguo 15/01/2004, 10:05
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Si... en Wintendo Visual Basic, Power Builder, C, Delphi, etc
En desarrollo web ASP, PHP, Perl, XML, etc.

Esto debido a que por programación, podes utilizar variables para almacenar el resultado.

Si explicas que es lo que estas haciendo, se te podría orientar mejor.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #13 (permalink)  
Antiguo 15/01/2004, 10:21
 
Fecha de Ingreso: noviembre-2003
Ubicación: Barcelona
Mensajes: 181
Antigüedad: 20 años, 5 meses
Puntos: 0
bueno estoy haciendo una base de datos, para un intranet en php.

hasta ahora e conseguido poner datos y mostrarlos.
pero me interesaría poder calcular dentro de las bases de datos. en php, ya lo e echo, pero e visto que sql también se puede, y me parecía mucho más interesante hacerlo de esta manera.

ahora en si estaba intentando sumar las columnas a11+a12+a13+a14+a15+a16+a17+a18 dividirlas por la columna fila1 y poner el resultado en promedio1 de la tabla obrador.

y las formulas basicas me salen, pero aun no entiendo el concepto para poder grabar eso y que se quede allí, bueno que se haga funcionar siempre.

y kizas me hace falta una columna tipo id, donde hayan numero siempre diferentes, no se, estoy algo verde en esto.

hey gracias por todo.
__________________
___________________________

DEL_DAN
  #14 (permalink)  
Antiguo 15/01/2004, 11:21
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Ok, supongo que esos datos lo solicitas a través de un formulario por lo que tendrías que declarar variable. Digamos que tenes 5 campos en tu tabla donde cuatro son los valores dados por el usuario y el último es el resultado.

$valor1, $valor2, $valor3, $valor4, $resultado.

Cuando el usuario llene el formulario y hagas las validaciones de que todo esté bien, cargas la variable $resultado.

$resultado = ($valor1 + $valor2 + $valor3 + $valor4) / $valor1;

Y por último realizas el INSERT

INSERT INTO tabla (col1, col2, col3, col4, resultado) VALUES ('$valor1', '$valor2', '$valor3', '$valor4', '$resultado')

o si en el insert vas a cargar todas las columnas, podes usarlo así:

INSERT INTO tabla VALUES ('$valor1', '$valor2', '$valor3', '$valor4', '$resultado')

Un consejo... yo en tu lugar eliminaría la columna de RSULTADO debido a que es un campo calculado y lo muestro solo cuando voy a hacer una consulta de esta forma.

SELECT col1, col2, col3, col4, (col1 + col2 + col3 + col4)/col1 as resultado FROM TABLA WHERE tu_condición.

De esa manera estarías ahorrando espacio en la BD. Además, como lo estas programando en PHP no te afectaría nada generar la consulta en una variable.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL

Última edición por BrujoNic; 15/01/2004 a las 11:23
  #15 (permalink)  
Antiguo 20/01/2004, 10:28
 
Fecha de Ingreso: noviembre-2003
Ubicación: Barcelona
Mensajes: 181
Antigüedad: 20 años, 5 meses
Puntos: 0
y si lo pongo de esta manera? creo que se podría, solo que kizas no es la mejor manera, es que lo e intentado meter como m ehas dicho pero me crea un error.



$editFormAction = $HTTP_SERVER_VARS['PHP_SELF'];
if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
$editFormAction .= "?" . $HTTP_SERVER_VARS['QUERY_STRING'];
}

if ((isset($HTTP_POST_VARS["MM_update"])) && ($HTTP_POST_VARS["MM_update"] == "form1")) {
$updateSQL = sprintf("UPDATE prueva SET valor1=%s, valor2=%s, valor3=%s, valor4=%s sumas=(valor1+valor2+valor3)/valor4 WHERE turno=%s",
GetSQLValueString($HTTP_POST_VARS['valor1'], "double"),
GetSQLValueString($HTTP_POST_VARS['valor2'], "double"),
GetSQLValueString($HTTP_POST_VARS['valor3'], "double"),
GetSQLValueString($HTTP_POST_VARS['valor4'], "double"),
GetSQLValueString($HTTP_POST_VARS['turno'], "text"));
__________________
___________________________

DEL_DAN
  #16 (permalink)  
Antiguo 20/01/2004, 15:34
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Pues que te digo... yo lo que se es que en PHP las variables se declaran con el signo de $ seguido de la variable.

Eso que estas haciendo, la verdad no lo compredo. Creo que Cluster, josemi u algún otro que sepa PHP te va a orientar mejor que yo.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #17 (permalink)  
Antiguo 21/01/2004, 02:25
 
Fecha de Ingreso: noviembre-2003
Ubicación: Barcelona
Mensajes: 181
Antigüedad: 20 años, 5 meses
Puntos: 0
ok.
es que es un codigo que te hace el dreamweaver y tan solo lo intento adaptar. deberé hacerlo de otra manera.
__________________
___________________________

DEL_DAN

Última edición por DEL_DAN; 21/01/2004 a las 02:30
  #18 (permalink)  
Antiguo 21/01/2004, 10:30
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Mira, yo te aconsejaría bajarte el manual de php en la página oficial, buscar ahi los ejemplos de funciones. Inicia localizando las funciones mysql_query, mysql_error, mysql_fetch_array, mysql_connect, mysql_select_db, mysql_free_result y mysql_num_rows.

Con eso tendrías las báses necesarias para saber como conectarte, realizar consultas, verificar que la consulta fue satisfactoria, cantidad de registros extraidos, etc.

Yo tengo montado unas consultas múltiples usando eso y me va bien.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
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:07.