SQL выберите отдельные данные без упорядочивания столбца - PullRequest
0 голосов
/ 07 января 2020

У меня есть таблица, которая содержит данные, как показано ниже:

DECLARE @CheckList TABLE
                   (  
                        RowNumber INT IDENTITY(1,1) INT, 
                        CheckId INT, 
                        Treat INT 
                   )  
INSERT INTO @CheckList 
VALUES (1, 1, 1), (1, 3, 1), (1, 2, 1), (1, 1, 1),
       (1, 3, 1), (1, 2, 1), (1, 1, 3), (1, 3, 3),
       (1, 2, 3);

SELECT DISTINCT Id, CheckId 
FROM @CheckList
WHERE Id = 1

Где я хочу выбрать данные из этой таблицы как

   Id   CheckId
   ------------
    1   1
    1   3
    1   2

Я хочу тот же порядок чека ID который доступен в табл. Вы можете помочь мне с этим?

Ответы [ 2 ]

7 голосов
/ 07 января 2020

Сохранить исходный порядок по RowNumber идентификационный столбец

select Id,CheckId
from(
   select distinct Id,CheckId, min(rownumber) over(partition by Id,CheckId) rn
   from @CheckList
   where Id=1
   ) t
order by rn;

Db fiddle

0 голосов
/ 08 января 2020

Вы можете проверить это

DECLARE @CheckList TABLE
               (  Id INT ,  CheckId INT, Treat INT )  
INSERT INTO @CheckList 
VALUES (1, 1, 1), (1, 3, 1), (1, 2, 1), (1, 1, 1),(1, 3, 1), (1, 2, 1), (1, 1, 3),(1,3,3), (1, 2, 3);

SELECT DISTINCT Id, CheckId 
FROM @CheckList
WHERE Id = 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...