webForumDet fria alternativet

hämta prissänkta produkter

Databaser & SQLur Databashanterare & SQL

2 svar · 494 visningar · startad av Vinnaren

Medlem sedan sep. 2005833 inlägg
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

Medlem sedan dec. 20025 483 inlägg
#2
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
Medlem sedan sep. 2005833 inlägg
#3

Tusen tack Peter S, fungerar perfekt (y)

130 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)