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

Como hacer una consulta con parametros

Estas en el tema de Como hacer una consulta con parametros en el foro de Mysql en Foros del Web. Buenas foro Tengo una tabla de productos en el cual almaceno los datos del producto en almacén, pero el precio del producto lo almaceno en ...
  #1 (permalink)  
Antiguo 30/01/2013, 16:08
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Pregunta Como hacer una consulta con parametros

Buenas foro

Tengo una tabla de productos en el cual almaceno los datos del producto en almacén, pero el precio del producto lo almaceno en otra tabla ya que dependiendo de la cantidad es el precio que se mostrara.

La relación que hay entre esta tabla de precios y productos es el id del producto en la tabla precios.

Mi problema es que no se como hacer para sacar el precio según corresponda la cantidad espero alguien me pueda ayudar.

Esta es mi consulta para sacar los datos de unas llaves foráneas en la tabla productos

Código MySQL:
Ver original
  1. SELECT p.productoID,p.productoServicio,p.existencias,p.minimoStock,p.inventariado,p.statusProducto,pre.precio,c.nombreCategoria,m.nombreMarca,pr.nombre
  2. FROM producto AS p JOIN categoria AS c ON p.categoriaID=c.categoriaID JOIN marca AS m ON p.marcaID=m.marcaID JOIN proveedor AS pr
  3. ON p.proveedorID=pr.proveedorID

A esta consulta necesito agregar el precio pero no se como obtenerla.

De antemano muchas gracias.
__________________
Lo imposible solo cuesta un poco mas
  #2 (permalink)  
Antiguo 30/01/2013, 16:27
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Como hacer una consulta con parametros

Dices
Cita:
Mi problema es que no se como hacer para sacar el precio según corresponda la cantidad...
Pero no nos dices cómo son los datos en esa tabla de precios, qué campos hay y qué tipos de datos se guardan; si el precio depende de unas cantidades prefijadas y siempre las mismas para todos los productos o no. Ponnos algunos ejemplos de los datos que tienes
  #3 (permalink)  
Antiguo 30/01/2013, 16:38
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Pregunta Respuesta: Como hacer una consulta con parametros

Gracias por responder.

Mi tabla esta compuesta así:

Código MySQL:
Ver original
  1. CREATE TABLE `precio` (
  2.   `precioID` int(11) NOT NULL,
  3.   `cantidad` char(10) NOT NULL,
  4.   `precio` decimal(9,2) NOT NULL,
  5.   `productoID` int(11) NOT NULL,
  6.   PRIMARY KEY (`precioID`),
  7.   KEY `precio_producto` (`productoID`),
  8.   CONSTRAINT `precio_producto` FOREIGN KEY (`productoID`) REFERENCES `producto` (`productoID`)
.

y la tabla de producto de la siguiente manera:

Código MySQL:
Ver original
  1. CREATE TABLE `producto` (
  2.   `productoID` int(11) NOT NULL,
  3.   `productoServicio` varchar(100) NOT NULL,
  4.   `existencias` int(11) NOT NULL,
  5.   `minimoStock` int(11) NOT NULL,
  6.   `inventariado` char(1) NOT NULL,
  7.   `statusProducto` char(1) NOT NULL,
  8.   `categoriaID` int(11) NOT NULL,
  9.   `marcaID` int(11) NOT NULL,
  10.   `proveedorID` int(11) NOT NULL,
  11.   PRIMARY KEY (`productoID`),
  12.   KEY `producto_categoria` (`categoriaID`),
  13.   KEY `producto_marca` (`marcaID`),
  14.   KEY `producto_prov` (`proveedorID`),
  15.   CONSTRAINT `producto_categoria` FOREIGN KEY (`categoriaID`) REFERENCES `categoria` (`categoriaID`),
  16.   CONSTRAINT `producto_marca` FOREIGN KEY (`marcaID`) REFERENCES `marca` (`marcaID`),
  17.   CONSTRAINT `producto_prov` FOREIGN KEY (`proveedorID`) REFERENCES `proveedor` (`proveedorID`)


Los precios dependen del producto y de la cantidad, es decir por una cantidad de 100 de x producto el precio es 2.3 y de 500 es 1.20 no se si me de a entender
__________________
Lo imposible solo cuesta un poco mas
  #4 (permalink)  
Antiguo 30/01/2013, 17:43
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Como hacer una consulta con parametros

a ver si he entendido. Imagino que tienes otra tabla productoscompra con los campo productoID y cantidad, porque en la tabla productos no tienes cantidad alguna que sirva de referencia
Código MySQL:
Ver original
  1. SELECT t1.idproductoscompra, t1.precio, t1.cantidad, t1.cantref
  2.  
  3. SELECT pc.idproductoscompra, p.precio, pc.cantidad, p.cantidad cantref
  4. FROM `productoscompra` pc
  5. INNER JOIN precio p ON pc.productoID = p.productoID
  6. WHERE p.cantidad <= pc.cantidad
  7. ORDER BY p.cantidad DESC
  8. )t1
  9. GROUP BY idproductoscompra
El truco consiste en relacionar con la tabla de precios haciendo coincidir el productoID y buscando que la cantidad del precio sea menor o igual que la cantidad de la compra, ordeno por la cantidad del precio de manera descendente para agrupar luego los valores de esa subconsulta según el idproductoscompra, quedando el valor más bajo de la cantidad del precio superior o igual a la cantidad de producto comprado.
Haz comprobaciones.

Etiquetas: join, parametros, select, tabla
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 21:45.