Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie SQL do warunkowego pobierania rekordów na podstawie listy kluczy-wartość

Wyzwanie polega na tym, że musisz przekazać te wartości pobrane z odpowiedzi API do instrukcji SQL jako dane wejściowe i wygenerować dane wyjściowe, dynamicznie nie tworząc żadnych porównań na podstawie danych wejściowych.

Teraz, gdybym znał twoją platformę zaplecza, niż dałbym bardziej trafne rozwiązanie, ale ponieważ nie wiem, co do Node.js, moje rozwiązanie będzie zawierało tylko wymagane instrukcje SQL i pozostałą część, którą musisz Zrób to sam.

Pierwszą rzeczą, którą musisz zrobić, to przeanalizować tę odpowiedź API i zapisać te wartości w strukturze danych.

Teraz utwórz Temporary table z Twojego Node.js kod i zapisz te wartości wejściowe w tej tabeli.

  CREATE TEMPORARY TABLE Input (id INT, value INT);

Dodaj dane z tej struktury danych do tej tabeli.

Teraz uruchom następujące zapytanie, a otrzymasz to, czego chcesz:

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
                      )

Skrzypce demonstracyjne



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.lang.ClassNotFoundException:com.mysql.jdbc.Driver (maven + jboss)

  2. jak wyświetlić wiele obrazów (blob) z mysql za pomocą php?

  3. Praca z dużą ilością danych z mysql

  4. Jak przechowywać znaki inne niż angielskie?

  5. Jaki jest najlepszy sposób przechowywania plików multimedialnych w bazie danych?