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

consulta para mysql

Estas en el tema de consulta para mysql en el foro de Bases de Datos General en Foros del Web. Hola estoy haciendo una tienda con MYSQL y PHP. He leído que es más rápido si hago los cálculos con las funciones internas de mysql. ...
  #1 (permalink)  
Antiguo 20/11/2003, 12:21
 
Fecha de Ingreso: octubre-2003
Mensajes: 109
Antigüedad: 20 años, 6 meses
Puntos: 1
consulta para mysql

Hola

estoy haciendo una tienda con MYSQL y PHP.

He leído que es más rápido si hago los cálculos con las funciones internas de mysql.

Estoy en la tabla carrito y quiero mostrar todos los artículos que tiene almacenados un determinado cliente y además que escriba el total de lo que lleva gastado.


He escrito esto:


$id_cliente=1;
$consulta1 = "CREATE TEMPORARY TABLE carrito_cliente SELECT articulos.nombre, carrito.cantidad, articulos.precio FROM carrito, articulos WHERE carrito.ID_articulo=articulos.ID_articulo AND carrito.ID_cliente='$id_cliente'";

$tabla_temporal = mysql_query($consulta1) or die ("no se pudo realizar la consulta1");

$consulta2 = "SELECT *,SUM(precio) AS total FROM carrito_cliente";

$resultado = mysql_query($consulta2) or die ("no se pudo realizar la consulta2");


y me da el error en la segunda consulta, hay alguna forma "elegante" de hacerlo.

¿Qué opináis sobre el hecho de utilizar estas funciones intrínsecas? Gracias
  #2 (permalink)  
Antiguo 20/11/2003, 14:45
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
la segunda te da error por que no puedes usar * cuando usas funciones de agregado. Basta con hacer:

$consulta2 = "SELECT SUM(precio) AS total FROM carrito_cliente";

esas funciones son del lenguaje SQL (structured query language) que mysql impelmenta, y son muy utiles pues aceleran el tratamiento de los datos almacenados en una base de datos
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
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 13:42.