我在將變量放在HAVING子句中遇到一些麻煩,問題是我需要COUNT(*)大於變量。HAVING子句中的Oracle PL/SQL變量
我使用Oracle數據庫XE 11.2
DECLARE
cnt1 NUMBER;
cnt2 NUMBER;
res NUMBER;
BEGIN
SELECT COUNT(*)
INTO cnt1
FROM BESTELLING;
SELECT COUNT(*)
INTO cnt2
FROM ARTIKEL;
res := cnt1/cnt2;
END;
/
SELECT A.Naam, COUNT(*) AS HOEVEEL_VERKOCHT
FROM Artikel A, Winkelwagen W
WHERE A.Artikel_ID = W.Artikel_ID
AND W.Datum_Besteld IS NOT NULL
GROUP BY A.Naam
HAVING COUNT(*) > ?res?
ORDER BY COUNT(*) DESC;
但你的SQL查詢是* PL/SQL塊外的*。顯然,它將無法訪問PL/SQL塊中定義的任何變量。 – sstan
那麼你會怎麼做呢? – Guido