You might be missing something, it works as expected.
declare @t1 table (
col1 varchar(10)
)
declare @t2 table (
col1 varchar(10),
id int)
insert into @t1 (col1) values ('a')
insert into @t1 (col1) values ('b')
insert into @t1 (col1) values ('c')
insert into @t2 (col1,id) values ('a',0)
insert into @t2 (col1,id) values ('b',1)
insert into @t2 (col1,id) values ('c',0)
select col1 from @t1 except
select col1 from @t2 where id = 1
group by col1
it returns 'a' and 'c'