组合来自同一个表但不同 WHERE 子句的两个 SELECT 查询

Aks*_*hah 1 sql postgresql

我有一个名为 WORKOUTS 的表,其中包含名为“install_time”和“local_id”的列。两者都有列类型整数。它们是唯一的键。我编写了两个查询,如下所示:

SELECT * from workouts where install_time = 123456 and local_id > 5

SELECT * from workouts where install_time = 987643 and local_id > 19
Run Code Online (Sandbox Code Playgroud)

现在我想将这些查询和一个 where 子句结合起来来处理这种情况,但找不到一种方法。

编辑

SELECT * from workouts where install_time = 123456 and local_id > 5 and date = xyz
SELECT * from workouts where install_time = 987643 and local_id > 19 and date = xyz
Run Code Online (Sandbox Code Playgroud)

Mih*_*kov 5

SELECT * 
FROM workouts 
WHERE 
    (install_time = 123456 AND local_id > 5 AND date = xyz)
    OR 
    (install_time = 987643 AND local_id > 19 AND date = xyz)
Run Code Online (Sandbox Code Playgroud)

使用 OR 关键字时也要小心。你必须小心地加上括号。

这是有关该主题的更多信息http://www.w3schools.com/sql/sql_and_or.asp

SELECT * 
FROM workouts 
WHERE 
    date = xyz
    AND (
      (install_time = 123456 AND local_id > 5)
      OR 
      (install_time = 987643 AND local_id > 19)
    )
Run Code Online (Sandbox Code Playgroud)