Я хочу выбрать первое значение столбца во внутреннем соединении для каждого успешного соединения.

@getEndDate = SELECT c.CustomerId, c.ProductId FROM @customer AS c
INNER JOIN (SELECT (DateTime?) EndDate AS EndDate, (int) CustomerId AS CustomerId 
FROM @Installation 
ORDER BY EndDate FETCH 1 ROW OFFSET 0 ROWS) AS i ON c.CustomerId == i.CustomerId

Делая это, я получаю EndDate с наименьшей EndDate в @Installation, где соблюдается циретия соединения.

Как я могу получить только первое значение из подзапроса внутреннего соединения для каждого успешного соединения?

0
Refi 23 Окт 2018 в 11:17

2 ответа

Лучший ответ

Вы можете применить функцию FIRST_VALUE к INNER JOIN SELECT:

Проверь это: https://docs.microsoft.com/en- мы / у- SQL / функция / аналитическая / первое значение

0
Jorge Ribeiro 25 Окт 2018 в 10:03

Выберите выполнение следующих действий во внутреннем подзапросе соединения:

(SELECT (DateTime?) MAX(EndDate) AS EndDate, (int) CustomerID AS CustomerID FROM 
@Installation GROUP BY CustomerID) 

Работает в моем случае.

0
Refi 23 Окт 2018 в 10:41
52944266