MS Access - найти повторяющиеся значения путем объединения некоторых столбцов - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть таблица с 5 столбцами.Мне нужно найти повторяющиеся значения, используя первые 3 столбца.

Вот пример моего набора данных:

enter image description here

Вот вывод, который мне нужен:

enter image description here

Вот сценарий, который я пытался использовать:

select 
    count ([Tracking id] as [Count],
    [Hierarchy], 
    [Requirement ID], 
    [Tracking ID2], 
    [Status]
From 
    [table 1]
group by
    [Hierarchy], 
    [Requirement ID], 
    [Tracking ID2], 
    [Status]
having 
    count ([Tracking id]) > 1

Очевидно, что это не сработает, потому что вы не можете сгруппировать [Tracking ID2] и[Статус].

Мне нужно обойти это, что будет работать в MS Access.

Ответы [ 2 ]

1 голос
/ 26 сентября 2019

вы можете использовать subquery для достижения этого

select 
    [Tracking id],
    [Hierarchy], 
    [Requirement ID], 
    [Tracking ID2], 
    [Status]
from
 [table 1] 
where [Tracking id] in (
     select 
       [Tracking id]
     From 
       [table 1]
     group by
       [Tracking id]   
     having count ([Tracking id]) > 1)

или

 where exists (
         select 
           1
         From 
           [table 1]
         group by
           [Tracking id]   
         having count ([Tracking id]) > 1)

, чтобы включить count (), это один из вариантов,используя join

  select 
        t1.ct,
        t1.[Tracking id],
        [Hierarchy], 
        [Requirement ID], 
        [Tracking ID2], 
        [Status]
  from [table 1] t
  inner join
    (select 
        [Tracking id],
        count(1) as ct
    from [table 1]  
    group by [Tracking id]   
    having count ([Tracking id]) > 1)) as t1 on t1.[Tracking id] = t.[Tracking id]
0 голосов
/ 26 сентября 2019

Вы, похоже, хотите:

select [Hierarchy], [Requirement ID], min([Tracking ID2]) as [Tracking ID2], min([Status]) as status
From [table 1]
group by [Hierarchy], [Requirement ID] 
having count(*) > 1;

status не должно быть в предложении GROUP BY.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...