Объединяйте таблицы и сохраняйте минимальные значения - PullRequest
0 голосов
/ 08 февраля 2011

Извините, я знаю, что слияние - это нечто совершенно другое в 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 какие-либо функции для достижения этой цели или кто-то может указать мне на какие-либо ресурсы, которые могут помочь?

Спасибо

Ответы [ 2 ]

3 голосов
/ 08 февраля 2011

Исходя из вашего ожидаемого выхода, это должно помочь:

SELECT [Foreign Key], MIN(Height) AS Height, MIN(Weight) AS Weight, 
    MIN(Length) AS Length
FROM @YourTableVar
GROUP BY [Foreign Key]
0 голосов
/ 08 февраля 2011

Выбрать минимум столбца несложно:

select 
   [Foreign Key], 
   MIN(Height) AS MinHeight, 
   MIN(Weight) AS MinWeight, 
   MIN(Length) AS MinLength
FROM 
   Table
GROUP BY 
   [Foreign Key]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...