Thách thức ở đây là bạn cần chuyển các giá trị này được truy xuất từ phản hồi API tới câu lệnh SQL của bạn làm đầu vào và tạo đầu ra bằng cách tạo động không có so sánh dựa trên đầu vào.
Bây giờ, nếu tôi đã quen với nền tảng back-end của bạn hơn tôi sẽ đưa ra giải pháp phù hợp hơn nhưng vì tôi không biết với Node.js, giải pháp của tôi sẽ chỉ bao gồm các câu lệnh SQL bắt buộc và phần còn lại bạn cần Tự làm.
Điều đầu tiên bạn cần làm là phân tích cú pháp phản hồi API này và lưu trữ các giá trị này vào Cấu trúc dữ liệu.
Bây giờ, hãy tạo một Temporary table
từ Node.js
của bạn mã và lưu trữ các giá trị đầu vào này trong bảng này.
CREATE TEMPORARY TABLE Input (id INT, value INT);
Thêm dữ liệu từ Cấu trúc dữ liệu đó vào bảng này.
Bây giờ, hãy chạy truy vấn sau và bạn sẽ nhận được những gì bạn muốn:
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
)