[英]Combining two SELECT queries from same table but different WHERE clause
我有一個名為WORKOUTS的表,該表具有名為“ install_time”和“ local_id”的列。 兩者都具有列類型整數。 它們是UNIQUE鍵。我寫了兩個查詢,如下所示:
SELECT * from workouts where install_time = 123456 and local_id > 5
SELECT * from workouts where install_time = 987643 and local_id > 19
現在,我想將這些查詢和一個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
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)
使用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)
)
SELECT * from workouts where install_time = 123456 and local_id > 5 and date = xyz
Union
SELECT * from workouts where install_time = 987643 and local_id > 19 and date = xyz
這取決於您“將這兩個查詢合並”的意思 。 如果您想要一個返回上述兩個查詢的結果的結果集,則可以嘗試使用OR
運算符。 以下假設兩個local_id
的date
字段相同。
SELECT * FROM workouts
WHERE date = xyz
AND (
(install_time = 123456 AND local_id > 5)
OR (install_time = 987643 AND local_id > 19)
);
可以簡單地做到
SELECT * from workout where date=xyz and (install_time = 123456 and local_id > 5) or (install_time = 987643 and local_id> 19)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.