Как отображать данные с уникальными записями «да» или «нет». - PullRequest
0 голосов
/ 27 сентября 2011

Это мои данные

unitCode stunum assNo   subStatus 
SIT111  1000    1   Yes
SIT111  1000    2   No
SIT111  3000    1   No

Как генерировать результаты только с ТОЛЬКО 'Нет'

Например: должен подойти только ученик 3000.Поскольку этот человек не сдал никаких заданий.?

Ответы [ 2 ]

3 голосов
/ 27 сентября 2011

Вы можете использовать следующее утверждение:

select
    *
from
(
    select
        unitCode,
        stunum,
        sum(case when subStatus = 'Yes' then 1 else 0 end) as CountYes,
        sum(case when subStatus = 'No' then 1 else 0 end) as CountNo
    from
        students
    group by
        unitCode, stunum
) as student
inner join student_details
    on student.stunum = student_details.stunum
where
    CountNo > 0 and CountYes = 0;
0 голосов
/ 27 сентября 2011
declare @T table
(
  unitCode varchar(10),
  stunum int,
  assNo int,
  subStatus varchar(3)
)  

insert into @T values
('SIT111',  1000,    1,   'Yes'),
('SIT111',  1000,    2,   'No'),
('SIT111',  3000,    1,   'No')

select *
from @T as T
where T.subStatus = 'No' and
      T.stunum not in (select stunum
                       from @T
                       where subStatus = 'Yes')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...