日期:2014-05-18  浏览次数:20570 次

请教高手...一个很奇怪的SQL语句............在线======================

请教高手:
   

select distinct we_name as ob_name,we_id as ob_id from PA_View_Worker_Info where cp_id = 10 order by we_name

这一句查询语句的本意是想把 we_name重复的名气去掉,但是为什么查询结果重复的名字还在呢?????

------解决方案--------------------
里面应该还有个不重复的字段把
------解决方案--------------------
lz的语句是根据 we_name we_id 两个字段来判断的重复的
如果只根据 we_name 来判断 那么 select distinct we_name from PA_View_Worker_Info

如果需要根据 we_name 来判断重复,而又向两列到查询出来,那么麻烦了,你要说清除
------解决方案--------------------
distinct 只能去掉we_name和we_id都重复的行,只去掉we_name不是这么玩的~
select we_name as ob_name,max(we_id) as ob_id 
from PA_View_Worker_Info where cp_id = 10
group by we_name 
order by we_name 

就这样能满足你的要求!
给分啊~~呵呵