gpt4 book ai didi

javascript - 在sequelize中,如何选择匹配多行不同值的记录?

转载 作者:行者123 更新时间:2023-11-30 15:57:40 24 4
gpt4 key购买 nike

例如,我有下表:

A | B
------
1 | 2
1 | 3
1 | 4
2 | 3
2 | 4
3 | 3

我想选择 B 中 A 列中值为 1 AND 2 的所有值。所以在上面的示例中,我应该得到结果 (3,4),因为 A 列中只有 3 和 4 具有值 1 和 2。

我将如何在 sequelize 中执行此操作?

这是我尝试过的:

 db.myModel.findAll({
where: {
A: whatImSearching
},
attributes: ['A', 'B']
})

使用 whatImSearching = [1,2]

但是该解决方案返回的结果只有一个值匹配,即我会得到结果 (2,3,4)。但我应该只得到(3,4)。

最佳答案

注意:这是在 SQL 中可以完成的方式,就像评论中提到的 @daf 一样,类似的内容可以在 Sequelize 中实现。我把它留作引用

你可以像这样有条件地使用 group by

SELECT B 
FROM Table1 GROUP BY B
HAVING SUM(CASE WHEN A IN(1,2) THEN 1 ELSE 0 END) = 2

编辑

假设您有重复的值。这个应该更好

SELECT B 
FROM Table1 GROUP BY B
HAVING SUM(CASE WHEN A = 1 THEN 1 ELSE 0 END) = 1
AND SUM(CASE WHEN A = 2 THEN 1 ELSE 0 END) = 1

关于javascript - 在sequelize中,如何选择匹配多行不同值的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38247130/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com