我需要選擇一個國家有一個處理行的行,並且同一個國家存在一個未處理的行。對於下表,我將返回與id = 1
行。SQL - 存在比較
所以首先我需要檢查是否有一排TREATED
狀態,然後我必須檢查是否有一個UNTREATED
狀態的行與TREATED
狀態相同的國家。
Table example 1
+----+--------+--------------+
| id | country| status |
+----+--------+--------------+
| 1 | SE | TREATED |
| 2 | DK | UNTREATED |
| 3 | SE | UNTREATED |
+----+--------+--------------+
Result of query
+----+--------+--------------+
| id | country| status |
+----+--------+--------------+
| 1 | SE | TREATED |
+----+--------+--------------+
如果不存在未經處理的行或該國不一樣,那麼我們不應該返回任何
Table example 2
+----+--------+--------------+
| id | country| status |
+----+--------+--------------+
| 1 | SE | TREATED |
| 2 | DK | UNTREATED |
| 3 | US | UNTREATED |
+----+--------+--------------+
Result of query (empty)
+----+--------+--------------+
| id | country| status |
+----+--------+--------------+
我會將您的答案標記爲已接受,因爲這是最容易理解/閱讀的查詢。 – 2012-08-10 10:05:48