Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Truy vấn SQL để truy xuất có điều kiện các bản ghi dựa trên danh sách giá trị khóa

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
                      )

Demo Fiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tìm và thay thế văn bản trong bảng mysql

  2. Cách tạo chỉ mục trên nhiều cột

  3. Bảng MySQL tăng 10 vì một số lý do

  4. truy vấn mysql để chọn tất cả các hàng của tháng hiện tại?

  5. Dữ liệu ký tự không chuyển từ php sang jquery