, поэтому у меня возникли проблемы с оператором SELECT.
CREATE TABLE Employee
(
EmployeeID NVARCHAR(4000),
Name NVARCHAR(200)
);
CREATE TABLE Promotion
(
PromotionID NVARCHAR(4000),
EmployeeID NVARCHAR(4000),
Date Date
);
INSERT INTO Employee (EmployeeID, Name) VALUES ('12345', 'Sam');
INSERT INTO Employee (EmployeeID, Name) VALUES ('13335', 'Tom');
INSERT INTO Promotion (PromotionID, EmployeeID, Date) VALUES ('1', '12345', '2019-05-20');
INSERT INTO Promotion (PromotionID, EmployeeID, Date) VALUES ('2', '12345', '2020-08-27');
INSERT INTO Promotion (PromotionID, EmployeeID, Date) VALUES ('2', '13335', '2020-06-27');
Это две таблицы, из которых я хочу выбрать.
Итак, мне нужен выбор, где я получите Promid в самое позднее время для каждого уникального EmployeeID, если это имеет смысл: D.
Это должно выглядеть следующим образом:
PromotionID EmployeeID Date Name
2 12345 2020-08-27 Sam
2 13335 2020-06-27 Tom
Итак, что я получил до сих пор, это
SELECT p.EmployeeID, max(p.Date)
FROM Promotion p
JOIN Employee e on p.EmployeeID = e.EmployeeID
Group BY p.EmployeeID
Что дает мне
EmployeeID Date
12345 2020-08-27
13335 2020-06-27
Но я не могу понять это. Я просто не получаю PromotionID в связи с последней датой.
Буду признателен за помощь.
Спасибо
Том
Здесь начинает редактирование.
INSERT INTO Promotion (PromotionID, EmployeeID, Date) VALUES ('PA', '12345', '2019-05-20');
INSERT INTO Promotion (PromotionID, EmployeeID, Date) VALUES ('MA', '12345', '2020-08-27');
INSERT INTO Promotion (PromotionID, EmployeeID, Date) VALUES ('CO', '13335', '2020-06-27');
INSERT INTO Promotion (PromotionID, EmployeeID, Date) VALUES ('AI', '15555', '2020-01-18');
INSERT INTO Promotion (PromotionID, EmployeeID, Date) VALUES ('CO', '12345', '2021-05-20');
Это новые записи для таблицы.
Это то, что я получаю в результате, когда использую код @Tim Biegeleisen.
В самой системе на дату не может быть более одной акции для одного человека. Если это поможет