Problémem je, že tyto hodnoty získané z odpovědi API musíte předat vašemu příkazu SQL jako vstup a generovat výstup dynamickým vytvářením počtu porovnání na základě vstupu.
Nyní, pokud bych znal vaši back-end platformu, než bych dal vhodnější řešení, ale protože si nejsem vědom s Node.js, moje řešení bude obsahovat pouze požadované příkazy SQL a zbývající část, kterou potřebujete DIY.
První věc, kterou musíte udělat, je analyzovat tuto odpověď API a uložit tyto hodnoty do datové struktury.
Nyní vytvořte Temporary table
z vašeho Node.js
kód a uložte tyto vstupní hodnoty do této tabulky.
CREATE TEMPORARY TABLE Input (id INT, value INT);
Přidejte data z této datové struktury do této tabulky.
Nyní spusťte následující dotaz a dostanete, co chcete:
SELECT skp.quest_id
FROM SKILL_PREREQUISITES skp
GROUP BY quest_id
HAVING COUNT(skp.quest_id) =
( SELECT COUNT(quest_id)
FROM Input i
JOIN SKILL_PREREQUISITES sp
ON sp.prerequisite_skill_id = i.id
AND sp.skill_value <= i.value
WHERE skp.quest_id = sp.quest_id
)