Nueva pregunta

Pregunta:

Fecha: 11-11-2016 07:57:38 (En Español)

SELECT MIN(price) selecionar un precio mínimo comprobando existencia en otra tabla[Resuelta]

Hola, tengo un problema al selecionar el menor precio comprobando otra tambla si el producto esta disponible o no.

Mi consulta es esta:
SELECT   B.price, A.idOfAdding, B.dateofbuy,A.idProduct,B.date     
		  FROM productincompany A ,(SELECT idOfAdding, MIN(price) AS price,dateofbuy, date FROM  price  WHERE   idProduct = 1323    ) B  WHERE A.idOfAdding = B.idOfAdding AND A.disponible = 'si' 


funciona la mayoria de las veces, pero de vez en cuando falla...
SELECT  MIN(price.price)AS price ,price.idOfAdding,price.dateofbuy,price.date FROM price,(SELECT idOfAdding FROM productincompany WHERE  productincompany.disponible = 'si' AND  productincompany.idProduct = 1323 ) AS productincompany WHERE productincompany.idOfAdding = price.idOfAdding


también de veces mezcla el idOfAdding de otro vinculo o elige el precio que no es menor:
SELECT  MIN( A.price) AS price , A.dateofbuy , A.idOfAdding 
  FROM price A
INNER
  JOIN productincompany B
    ON B.idOfAdding = A.idOfAdding 
   AND B.idProduct =  1323 AND B.disponible = 'si'


pasa lo mismo que en las otras:
SELECT  MIN(price.price)AS price ,price.idOfAdding,price.dateofbuy,price.date FROM price,productincompany WHERE 
						  productincompany.disponible = 'si'
						AND 						 	
						 productincompany.idProduct = price.idProduct 					
						AND 
						  productincompany.idOfAdding = price.idOfAdding 
						AND productincompany.idProduct = 1323


en todas esas pasa lo mismo, en un producto va bien como en 20 000 otros y derepente veo que en uno no y no se porque, comprobe el registro si no hay algo mal ingresado en base de datos pero no he encontrado nada. Alguna idea o mejora que podria ayudarme? por favor. He probado GROUP BY idOfAdding como otras cosultas, pero una que funcione y sin fallos no he encontrado, les estaria muy agradecido.
Etiquetas: MySQL - Pregunta - Query - SQL Votos: 3 - Respuestas: 3 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 11-11-2016 08:51:05 A final este me funciono
    SELECT   B.price, A.idOfAdding, B.dateofbuy,A.idProduct,B.date     
    		  FROM productincompany A ,(SELECT idOfAdding, MIN(price) AS price,dateofbuy, date FROM  price  WHERE   idProduct = ?  GROUP BY idOfAdding  ORDER BY price ASC  ) B  WHERE A.idOfAdding = B.idOfAdding AND A.disponible = 'si'  GROUP BY B.idOfAdding  HAVING count(B.idOfAdding)> 0 ORDER BY price ASC 
      Votos: 4 - Link respuesta
     
  • Fecha: 12-11-2016 03:27:57 Bueno tu mismo te respondiste , bien brother (y)   Votos: 0 - Link respuesta
     
  • Fecha: 12-11-2016 10:16:59 Que bueno que lo hayas solucionado por ti mismo y haber posteado la solucion al caso! +1
    Que tengas un buen dia
    Saludos
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com