代码之家  ›  专栏  ›  技术社区  ›  Rona Idea

两列语句之间的SQL[关闭]

  •  1
  • Rona Idea  · 技术社区  · 8 年前

    我的数据:

    id    a       b     price
    1     2.00    1.00  2.50
    2     2.00    2.00  3.00
    3     3.00    1.00  4.50
    4     3.00    2.00  2.50
    5     3.00    3.00  3.00
    6     4.00    1.00  4.50
    

    我的问题是 如何使用sql“between”从列a和列b而不是列id中获取id 2到4中的数据

    2     2.00    2.00  3.00
    3     3.00    1.00  4.50
    4     3.00    2.00  2.50
    

    我的代码sql(但不工作):

    sql = "SELECT * FROM data_table  WHERE (( BETWEEN (a = 2.00, b  = 2.00 ) AND ( a = 3.00, b = 2.00  ))";
    
    5 回复  |  直到 8 年前
        1
  •  1
  •   Evandro de Paula    8 年前

    试试这个:

    SELECT * FROM data_table WHERE id BETWEEN (SELECT id FROM data_table WHERE a=2.00 AND b=2.00)  AND (SELECT id FROM data_table WHERE a=3.00 AND b=2.00)
    
        2
  •  3
  •   Gaj    8 年前

    不知道为什么要使查询复杂。试试这个

    Select * from data_table  where id between 2 and 4
    
        3
  •  1
  •   ADM    8 年前

    你可以用 BETWEEN 对于两列。

    sql = "SELECT * FROM data_table  WHERE a BETWEEN 2 AND 3 AND b BETWEEN 2 AND 4";
    

    确保你必须使用 AND 和 OR 介于两个约束之间。

        4
  •  1
  •   Ajay Gupta    8 年前
    Select * from data_table where (a > 1 and a < 5 ) or (b > 1 and b < 5)
    

    或者你可以使用以下限制

    Select * from data_table where (a > 1 and a < 5 ) and (b > 1 and b < 5)
    
        5
  •  1
  •   Chanom First    8 年前

    如果我正确地理解了您的问题,那么您希望得到A列和B列的行的值介于2和4之间

    尝试此查询

    SELECT *
    FROM data_table 
    WHERE (a BETWEEN 2 AND 4)
    AND (b BETWEEN 2 AND 4)
    
    推荐文章