У меня есть таблица в SQL Server, которая содержит более 100 строк.
Ниже приведен пример данных, которые я хочу получить:
51206 69975314 InWork NULL
52160 70064509 Close 2018-05-10 12:52:49.000
52109 70071378 InWork NULL
Мне нужно, если идентификатор содержит 2другой статус, выберите статус InWork или идентификатор в максимальное время.
CREATE TABLE [dbo].[#RESULT_TABLE_X]
(
[ID_ADD] NVARCHAR(50) NULL,
[ID] NVARCHAR(50) NULL,
[STATUS] NVARCHAR(50) NULL,
[TIME] DATETIME NULL
) ON [PRIMARY]
INSERT INTO [dbo].[#RESULT_TABLE_X]
VALUES ('51206', '69975314', 'InWork', NULL),
('52160', '70064509', 'Close', '2018-10-05 10:52:49.000'),
('52160', '70064509', 'Close', '2018-10-05 12:52:49.000'),
('52109', '70071378', 'InWork', NULL),
('51887', '70071378', 'Close', '2018-10-06 10:52:49.000')
Я использовал приведенный ниже запрос, но он не отображает требуемый результат для меня:
SELECT
ID_ADD, ID, STATUS,TIME
FROM
[dbo].[#RESULT_TABLE_X]
WHERE
STATUS NOT IN ('Close')
ORDER BY
STATUS, ID
как решитьэто проблема?