Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

SQL Query untuk mengambil catatan secara kondisional berdasarkan daftar nilai kunci

Tantangannya di sini adalah Anda harus meneruskan nilai yang diambil dari respons API ke pernyataan SQL Anda sebagai input dan menghasilkan output dengan secara dinamis tidak membuat perbandingan berdasarkan input.

Sekarang, jika saya sudah terbiasa dengan platform back-end Anda daripada saya akan memberikan solusi yang lebih tepat tetapi karena saya tidak mengetahui dengan Node.js, solusi saya hanya akan menyertakan pernyataan SQL yang diperlukan dan bagian yang tersisa yang Anda perlukan buatan sendiri.

Hal pertama yang perlu Anda lakukan adalah menguraikan respons API ini dan menyimpan nilai-nilai ini ke dalam Struktur Data.

Sekarang, buat Temporary table masuk dari Node.js . Anda kode dan simpan nilai input ini dalam tabel ini.

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

Tambahkan data dari struktur Data tersebut ke tabel ini.

Sekarang, jalankan kueri berikut &Anda akan mendapatkan apa yang Anda inginkan:

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
                      )

Fiddle Demo



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kutipan Tunggal, Kutipan Ganda, dan Backticks di Query MySQL

  2. Bagaimana cara menginstal adaptor Rails MySQL?

  3. Cara menggunakan kolom temp di klausa where

  4. Menghitung perbedaan waktu sebelum jam 6 pagi dan setelah jam 10 malam di MySQL

  5. Bagaimana cara mengambil cadangan satu tabel dalam database MySQL?