2015-09-28 39 views
1

我在文本文件(2表)中有一些凌亂的數據。我想將它合併到1個表格中,但有重複問題。我的數據如下所示:合併兩個表格與部分關係

狀態表

+--------------------------+ 
| | Last Name | Status | | 
+--------------------------+ 
| | Jones  | On Time | | 
| | Jones  | On Time | | 
| | Jones  | On Time | | 
| | Jones  | On Time | | 
| | Jones  | Missing | | 
| | Hoinski | On Time | | 
| | Hoinski | Late | | 
| | Hoinski | Late | | 
| | Hoinski | Missing | | 
+--------------------------+ 

風險表

+-------------------------+ 
| | Last Name | Risk | | 
+-------------------------+ 
| | Jones  | High | | 
| | Jones  | High | | 
| | Jones  | Low | | 
| | Jones  | Medium | | 
| | Jones  | Medium | | 
| | Jones  | Medium | | 
| | Jones  | Medium | | 
| | Smith  | Low | | 
| | Smith  | Medium | | 
| | Smith  | Medium | | 
| | Smith  | Medium | | 
| | Hoinski | High | | 
| | Hoinski | High | | 
| | Hoinski | Low | | 
+-------------------------+ 

如何使用SQL將這兩個表聚合成1個表?可能嗎?我知道我沒有適當的關係(多對多),所以它不太合理。但是如果我使用[姓氏]字段上的分組依據語句來彙總數據呢?

+2

您的問題對我來說還不清楚。你能提供預期的結果嗎? –

+0

'mysql'和'sql-server'標籤? –

回答

0

解決與DISTINCT

SELECT Distinct S.[Last Name] , S.Status, R.Risk 
FROM Status S 
INNER JOIN Risk R 
    ON R.[Last Name] = S.[Last Name] 
1

複製你是正確的GROUP BY能夠解決您的問題,這裏的查詢。

SELECT * FROM Status 
    INNER JOIN Risk ON Status.[Last Name] = Risk.[Last Name] 
    GROUP BY Status.[Last Name] 
+0

'Group by'可能會解決問題,但是您的查詢並不是因爲您需要在'group by'中包含所有3個字段,並且替換相同字段的'select *'。 –