Предизвикателството тук е, че трябва да предадете тези стойности, извлечени от отговор на API, към вашия SQL израз като вход и да генерирате изход чрез динамично създаване на не сравнения въз основа на входа.
Сега, ако щях да се запозная с вашата back-end платформа, отколкото бих дал по-подходящо решение, но тъй като не съм наясно с Node.js, моето решение ще включва само необходимите SQL изрази и останалата част, която трябва да Направи си сам.
Първото нещо, което трябва да направите, е да анализирате този отговор на API и да съхраните тези стойности в структура от данни.
Сега създайте Temporary table
от вашия Node.js
код и съхранете тези входни стойности в тази таблица.
CREATE TEMPORARY TABLE Input (id INT, value INT);
Добавете данни от тази структура от данни към тази таблица.
Сега изпълнете следната заявка и ще получите това, което искате:
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
)