如何将SQL数据与外部数据关联

时间:2018-10-04 02:50:35

标签: sql node.js

我的程序中有很多新数据,我需要快速将它们与表中的现有数据相关联,以便随后过滤出approved: false个数据。

在我想到的情况下,这里简直是精炼:

给出以下内容:

const list = [{id: 1}, {id: 2}]
// assume ~10K items, not necessarily 1-1 with the MyTable's rows.
INSERT INTO MyTable (id, approved) VALUES (1, TRUE), (2, FALSE), (3, TRUE);
-- assume ~10K rows

如何实现?

const result = [{id: 1, approved: true}, {id: 2, approved: false}] // only ids from list

我在问从给定的结果中得到什么SQL查询。

1 个答案:

答案 0 :(得分:0)

这个问题是SQL WHERE ID IN (id1, id2, …, idn)的特定实例,因此答案很简单,就是将ID转储到语句中:

const idsString = list.map(item => item.id).join() // sanitize!
const result = sql("SELECT id, approved FROM MyTable WHERE id IN (" + idsString + ");")