sql >> Databáze >  >> RDS >> Mysql

SQL dotaz pro podmíněné načtení záznamů na základě seznamu klíčových hodnot

Problémem je, že tyto hodnoty získané z odpovědi API musíte předat vašemu příkazu SQL jako vstup a generovat výstup dynamickým vytvářením počtu porovnání na základě vstupu.

Nyní, pokud bych znal vaši back-end platformu, než bych dal vhodnější řešení, ale protože si nejsem vědom s Node.js, moje řešení bude obsahovat pouze požadované příkazy SQL a zbývající část, kterou potřebujete DIY.

První věc, kterou musíte udělat, je analyzovat tuto odpověď API a uložit tyto hodnoty do datové struktury.

Nyní vytvořte Temporary table z vašeho Node.js kód a uložte tyto vstupní hodnoty do této tabulky.

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

Přidejte data z této datové struktury do této tabulky.

Nyní spusťte následující dotaz a dostanete, co chcete:

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
                      )

Ukázkové housle



  1. Získejte BLOB ze sloupce BFILE v Oracle

  2. Výkon MySQL:Indexy MySQL/MariaDB

  3. Problém s kódováním znakové sady

  4. Připojení SAS JMP k Salesforce.com