select username,
case
when exists(select * from GoodUser where GoodUser.Username = user.Username) then '是'
else ''
end as isGood
from user这个应该能行
case
when exists(select * from GoodUser where GoodUser.Username = user.Username) then '是'
else ''
end as isGood
from user这个应该能行
--建表
create table #User(username char(10))
create table #goodUser(username char(10))--填数
insert into #User(username)values('张三')
insert into #User(username)values('李四')
insert into #User(username)values('王五')insert into #goodUser(username)values('张三')
insert into #goodUser(username)values('王五')--查询
select t1.username,
case when t2.username <>'' then '是' else '' end as 'Is Good'
from #user t1 left join #gooduser t2
on t1.username=t2.username--结果
username Is Good
---------- -------
张三 是
李四
王五 是(所影响的行数为 3 行)
3楼说的是一种情况,但是看表名就知道gooduser是user的子集,所以不应该会出现你说的情况