SELECT pr.Name, p.StartDate, p.Price
FROM price AS p
INNER JOIN product AS pr
ON p.PrId = pr.PrId
WHERE pr.CatId = @catID
AND pr.PrId IN ( SELECT PrId FROM Price GROUP BY PrId HAVING Count(*) > 1 )
AND p.StartDate = ( SELECT MAX(StartDate) FROM Price WHERE PrId = p.PrId )
ORDER BY p.StartDate DESC
LIMIT 10
Frågan#1
Behöver hjälp med att hämta ut de senaste 10 prissänkta produkterna
Har två tabeller, product och price.
DELIMITER $$
DROP PROCEDURE IF EXISTS `shop`.`GetPriceProductByCatId` $$
CREATE PROCEDURE `shop`.`GetPriceProductByCatId` (INTEGER @catID)
BEGIN
SELECT pr.Name, p.StartDate, p.Price
FROM price AS p
INNER JOIN product AS pr
ON p.PrId = pr.PrId
WHERE pr.CatId = @catID
END $$
DELIMITER ;
Är priset bara registrerat en gång i price-tabellen så är det inte prissänkt, utan det måste minst finnas med 2 gånger.
ANV MySQL
Tacksam för all hjälp :stud