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

Como puedo crear consulta de seleccion multiple en mysql?

Estas en el tema de Como puedo crear consulta de seleccion multiple en mysql? en el foro de Mysql en Foros del Web. Hola, tengo dos preguntas y pues quisiera que me ayudaran un poco con ellas y acontinuacion se las declaro. 1- La primera consiste en que ...
  #1 (permalink)  
Antiguo 24/11/2008, 22:06
 
Fecha de Ingreso: octubre-2008
Mensajes: 101
Antigüedad: 15 años, 6 meses
Puntos: 1
Pregunta Como puedo crear consulta de seleccion multiple en mysql?

Hola, tengo dos preguntas y pues quisiera que me ayudaran un poco con ellas y acontinuacion se las declaro.

1- La primera consiste en que tengo dos tablas en mysql, la primera se llama materiales y la otra materiales_actividad, la cuestion es que deseo generar una sola consulta que me permita sacar varios registros de esas dos tablas a la vez?

2- En la segunda tabla, llamada materiales_actividad tengo un campo llamado cantidades y quisera saber si se puede, que desde un select me sume esas cantidades, es decir que si tengo 2 de uno y 3 de otro, el me los sume automaticamente o lo tendria que generar desde php?

Bueno esas son mis inquietudes, espero de su ayuda por favor.
  #2 (permalink)  
Antiguo 25/11/2008, 02:18
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Como puedo crear consulta de seleccion multiple en mysql?

Nos das poca información pero intenta esto


Select materiales.Campo1, materialles.camp2,...., materiales_actividad.campoX,...,materiales_activid ad.campoY
from materiales left join materiales_actividad
on materiales.id=materiales_actividad.idmaterial

Suponiendo que tienes un id en materiales y un idmaterial refereido al anterior en materiales_actividad.


Select idmaterial, sum(cantidades) as cantidad
from materiales_actividades
group by idmaterial;


Si?

Quim
  #3 (permalink)  
Antiguo 25/11/2008, 14:11
 
Fecha de Ingreso: octubre-2008
Mensajes: 101
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Como puedo crear consulta de seleccion multiple en mysql?

[EDITO] Hola, quiero agradecerte por que ya encontre la manera de solucionar el segundo problema tambien y me queda de esta forma el select.
Cita:
SELECT materiales.id_material, materiales.descripcion, materiales.unidad, sum( materiales.precio * materiales_actividad.cantidad ) AS total
FROM materiales
LEFT JOIN materiales_actividad ON materiales.id_material = materiales_actividad.id_material
AND materiales_actividad.id_actividad =5
GROUP BY materiales_actividad.id_actividad
Pero a la hora de imprimirme el total me lo muestra de esta manera 47.2300 y pues solo ese pequeño detalle me hace falta resolver, el cual me permita imprimir solamente dos decimales. Y la verdad es un problema bastante peculiar por que he revisado en mis tablas y los dos campos que estoy multiplicando y sumando son de tipo decimal(5,2) y no se a que se deba esto, quiza se pueda definir en el "as total" para que solo imprima dos decimales, pero ustedes saben como se hace y es ahi adonde necesito de su ayuda.

Y desde ya gracias nuevamente.

Última edición por head777; 25/11/2008 a las 17:54
  #4 (permalink)  
Antiguo 26/11/2008, 05:59
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Como puedo crear consulta de seleccion multiple en mysql?

El formato de impresión puedes controlarlo con la aplicación, incluso puedes cambiar el . (punto) por , (coma) y poner separadores de miles (1.000,00) pero eso es mejor que lo hagas con la aplicacion ...

Busca funciones de formateo de numeros y/o moneda...

en php number_format por ejemplo.

Quim
  #5 (permalink)  
Antiguo 26/11/2008, 13:54
 
Fecha de Ingreso: octubre-2008
Mensajes: 101
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Como puedo crear consulta de seleccion multiple en mysql?

Hola encontre una manera mas facil y fue agregarle el comando round() a el query en mysql y me quedo de esta manera.
Código PHP:
$sql="SELECT materiales.id_material, materiales.descripcion, materiales.unidad,ROUND( SUM( materiales.precio * materiales_actividad.cantidad ),2) AS total
FROM $tabla
LEFT JOIN $tabla2 ON materiales.id_material = materiales_actividad.id_material
AND materiales_actividad.id_actividad ='"
.$id."'
GROUP BY materiales_actividad.id_actividad"
;
$result=mysql_query($sql,$conexion); 
y ya con eso me enseña el resultado con dos decimales nada mas.

Gracias nuevamente.
  #6 (permalink)  
Antiguo 26/11/2008, 18:05
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: Como puedo crear consulta de seleccion multiple en mysql?

Efectivamente ROUND te ayuda a redondearlos

@quimfv; evita hacer referencia a funciones de PHP en este foro, de ese modo evitamos confundir a otras personas que tengan el mismo problema.

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
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 17:21.