De uitdaging hier is dat u deze waarden die zijn opgehaald uit een API-antwoord moet doorgeven aan uw SQL-instructie als invoer en uitvoer moet genereren door dynamisch geen vergelijkingen te maken op basis van de invoer.
Nu, als ik bekend zou zijn geweest met uw back-endplatform dan zou ik een meer geschikte oplossing hebben gegeven, maar zoals ik niet weet met Node.js, zal mijn oplossing alleen de vereiste SQL-instructies bevatten en het resterende deel dat u nodig hebt Doe-het-zelf.
Het eerste dat u hoeft te doen, is dit API-antwoord te ontleden en deze waarden op te slaan in een gegevensstructuur.
Maak nu een Temporary table
in van uw Node.js
code en sla deze invoerwaarden op in deze tabel.
CREATE TEMPORARY TABLE Input (id INT, value INT);
Voeg gegevens uit die gegevensstructuur toe aan deze tabel.
Voer nu de volgende query uit en je krijgt wat je wilt:
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
)