2011-02-08 68 views
0

對不起,我知道合併是Sql Server中完全不同的東西,但我想不出還有什麼叫它。合併表並保留最低值

我有一個用戶自定義表類型,它看起來像

------------------------------------------------------------------- 
| Id | Foreign Key | Height | Weight | Width | Length | 
------------------------------------------------------------------- 
| 01 |  1256  | 12.2 | 15.8 | 14.5 | 15 | 
| 02 |  1256  | 18.2 | 15.8 | 25.8 | 28 | 
| 03 |  1258  | 14.5 | 11.3 | 56.6 | 32 | 
| 04 |  1258  | 14.5 | 1.85 | 32.9 | 64 | 
| 05 |  1216  | 25.3 | 16.2 | 12.5 | 86 | 
------------------------------------------------------------------- 

而且我希望能夠做到這一點給我最低的身高,體重,寬度和長度的外鍵查詢或東西與之相關的,所以我不得不像

------------------------------------------------------------ 
| Foreign Key | Height | Weight | Width | Length | 
------------------------------------------------------------ 
|  1256  | 12.2 | 15.8 | 14.5 | 15 | 
|  1258  | 14.5 | 1.85 | 32.9 | 32 | 
|  1216  | 25.3 | 16.2 | 12.5 | 86 | 
------------------------------------------------------------ 

有沒有在SQL Server中的任何功能來實現這一點,或者可以在任何一個點我可以幫助任何資源?

感謝

回答

3

根據您的預計產量,這應該做的伎倆:

SELECT [Foreign Key], MIN(Height) AS Height, MIN(Weight) AS Weight, 
    MIN(Length) AS Length 
FROM @YourTableVar 
GROUP BY [Foreign Key] 
+0

非常感謝你,完美地工作,對於nooby問題感到抱歉,我想我只是沒有在google的正確關鍵詞上點擊(一旦定時器讓我接受) – Manatherin 2011-02-08 14:27:50

0

是很直接的選擇最小的列:

select 
    [Foreign Key], 
    MIN(Height) AS MinHeight, 
    MIN(Weight) AS MinWeight, 
    MIN(Length) AS MinLength 
FROM 
    Table 
GROUP BY 
    [Foreign Key]