在不使用IN运算符的情况下将一组值传递给WHERE子句

时间:2018-12-04 05:18:46

标签: mysql loops

我有这个查询

SELECT 
    ID, isDebit, AccountID, SUM(Amount) AS Amount
FROM
    journaltransactions
WHERE
    AccountID IN (45,23,78,90,37,48)

任何人都可以在不使用IN运算符的情况下解决相同的问题

是否有可能在Procedure或其他内容中遍历这组值

没有 IN运算符

,我不知道要解决这个问题

任何帮助都是可贵的

1 个答案:

答案 0 :(得分:1)

尽管我不特别了解不使用in运算符的要求,但可以通过一系列or来实现:

SELECT 
    ID, isDebit, AccountID, SUM(Amount) AS Amount
FROM
    journaltransactions
WHERE
    AccountID = 45 OR
    AccountID = 23 OR
    AccountID = 78 OR
    AccountID = 90 OR
    AccountID = 37 OR
    AccountID = 48

请注意,此查询可能比使用in的查询要慢。