2017-04-06 117 views
1

同桌我有這種數據表:聯盟與ACCESS

+------------+----------+----------+ 
| Unique ID | Name | Class | 
+------------+----------+----------+ 
|   1 | Name 1 | Class A | 
|   2 | Name 2 | ""  | 
|   3 | Name 3 | Class C | 
|   4 | Name 1 | ""  | 
|   5 | Name 4 | ""  | 
|   6 | Name 4 | ""  | 
+------------+----------+----------+ 

我試圖做一些我認爲是簡單的,但我沒有找到這樣。

我想「提取」只有在'類'中的空字符串值爲一組相同的名稱。因爲即使是同一條線「」有與「A類」另一條線

+------------+----------+--------+ 
| Unique ID | Name | Class | 
+------------+----------+--------+ 
|   2 | Name 2 | "" | 
|   5 | Name 4 | "" | 
+------------+----------+--------+ 

所以沒有名稱1:所以在這種情況下

我會得到這樣的結果。

我認爲一個聯盟會做這項工作,但我不gettgin什麼,因爲我認爲工會是兩個表,但問題是我有在同一個表中的數據。

謝謝您的幫助

+0

如何講述了一羣被查詢的ID和姓名基團,包括MAX(類),與一個標準MAX(類)= 「」 –

回答

1

Access語法可能會有點不同,但它返回你想要什麼在甲骨文:

SELECT distinct Name, Class FROM table1 Where Name NOT in (select name from table1 where class is not null) 
-1

一個聯盟融合了兩個結果集,無論它們是否來自同一個表是無關緊要的。你想做的是從結果集中省略具有相同名稱的行,並且類不爲null。沒有查詢擴展或更改是一個問題,但是如果添加一個說明類似於「不在名稱中的名稱」(從類的名稱不爲空的地方選擇名稱)的子句;「,則可以這樣做。

+0

你好,這是我做的: SELECT名稱, 類從MYTABLE WHERE名稱<> 「」 UNION SELECT名稱, 類從MYTABLE 其中name = 「」 因此這應該工作: SE LECT名稱, 類從MYTABLE WHERE名稱<> 「」 UNION SELECT姓名, 類從MYTABLE 凡NOT IN(來自表,其中類不爲空選擇名稱)名稱; ? 謝謝 – user7828779

+0

我想你可以合併這兩個答案並刪除其中的一個。 –