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

Problema con consulta mysql y agrupamiento de campos

Estas en el tema de Problema con consulta mysql y agrupamiento de campos en el foro de Mysql en Foros del Web. Estoy medio perdido con esta consulta, a ver si alguien puede darme una mano. Tengo una tabla en mi base de datos con info de ...
  #1 (permalink)  
Antiguo 25/07/2010, 16:21
 
Fecha de Ingreso: julio-2010
Mensajes: 4
Antigüedad: 14 años, 4 meses
Puntos: 0
Problema con consulta mysql y agrupamiento de campos

Estoy medio perdido con esta consulta, a ver si alguien puede darme una mano.

Tengo una tabla en mi base de datos con info de productos.
Esta tabla tiene idProducto, categoria, subcategoria, codigo, descripcion, stock, proveedor, marca, moneda y precio.

Particularmente mi problema es con los campos moneda y precio, ya que en ellos se acumulan la moneda (puede estar en pesos o dolares) y en precio el valor. Luego con código php, armo una función que toma el valor del dolar de otra tabla y actualiza los productos que estén en dólares para poder mostrar todo el catálogo en pesos. Hasta aquí todo bien.

Mi problema es que a la lista de resultados le agregue un filtro para listar los productos en orden ascendente o descendente, pero cuando lo hacen por precio, en la base de datos el valor es en pesos y dolares por lo que se muestra no es en orden correcto.

¿Hay posibilidad de hacer una consulta que ya me devuelva un valor de precio en pesos solamente o cómo debería hacer la consulta?
La estrucutura sería más o menos así de lo que estuve pensando: "SELECT moneda, precio AS valor FROM productos" pero lo que necesito es que si es en dólares lo multiplique por el valor del dolar.
Esta es la función con la que armo mi consulta a la base.

// Obtener productos
function GetProductos($categoria='', $subcategoria='', $campo='', $orden=''){
// Defino el WHERE para ver si es una categoría o el listado completo
if(!empty($categoria) || !empty($subcategoria))
$condicion = "WHERE categoria = '".$categoria."' AND subcategoria = '".$subcategoria."'";

// Defino el ORDER
if(empty($campo) || empty($orden)){
$order = "ORDER BY codigo ASC";
}else{
$order = "ORDER BY ".$campo." ".$orden."";
}

$consulta = "SELECT * FROM productos ".$condicion." ".$order."";
$resultado = mysql_query($consulta) or die ("<b>Fallo al seleccionar productos:</b><br />".mysql_error()."");
return $resultado;
}

Muchas gracias
  #2 (permalink)  
Antiguo 26/07/2010, 23:10
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Problema con consulta mysql y agrupamiento de campos

Hola
Bueno, pues no entiendo bien el asunto, dices que conviertes todo a pesos pero si es así porque luego tienes problemas?? o es que no se ejecuta la función de conversión siempre?? yo simplemente haría la conversión antes de hacer la consulta que me ordene los campos, u otra solución es manejar ambos precios para los productos en una tabla aparte y luego en la consulta que traiga los pesos, en fin, se me ocurren varios modos, pero pues como ya lo tienes implementado yo llamaría siempre a la función de conversión antes de cualquier otra operación, y ya con eso debería bastar para que lo demás funcione bien
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: tablas
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 22:18.