问一条SQL语句,谢谢
有一张表dj_nsrxx(登记_纳税人信息),保存纳税人信息,字段如下 
 nsrsbh、nsrzt_dm、zjhm 
 纳税人识别号、纳税人状态、证件号码 
 其中:纳税人识别号为企业信息的关键字 
 纳税人状态:一般取值“开业”、“筹建期”、“非正常”、“非正常注销”、“注销”等 
 证件号码:保存企业法人的证件号码   
 现在需要找寻同一法人的企业,既有开业的又有非正常户的信息 
 (纳税人状态为“开业”或“筹建期”的视为“开业”;“非正常”和“非正常注销”的视为“非正常”)   
 最后生成一张表: 
 纳税人识别号_开业户、纳税人状态_开业户、证件号码、纳税人识别号_非正常户、纳税人状态_非正常户   
 举例如下 
 nsrsbh、nsrzt_dm、zjhm 
 企业A      开业                     法人1 
 企业B      筹建期               法人1 
 企业C      非正常               法人1 
 企业D      非正常注销   法人1 
 企业E      注销                     法人1   
 最后生成表 
 企业A         开业         法人1            企业C         非正常 
 企业A         开业         法人1            企业D         非正常注销 
 企业B         筹建期   法人1            企业C         非正常 
 企业B         筹建期   法人1            企业D         非正常注销
------解决方案--------------------/* 
 create table dj_nsrxx(nsrsbh varchar(20),nsrzt_dm varchar(20),zjhm varchar(20)) 
 insert into dj_nsrxx 
 select   '企业A ',   '开业 ',        '法人1 ' 
 union all  
 select   '企业B ',   '筹建期 ',      '法人1 ' 
 union all  
 select   '企业C ',   '非正常 ',      '法人1 ' 
 union all  
 select   '企业D ',   '非正常注销 ',  '法人1 ' 
 union all  
 select   '企业E ',   '注销 ',        '法人1 ' 
 */ 
 select * from dj_nsrxx   
 /* 
 nsrsbh  nsrzt_dm zjhm  
 ------------------------ 
 企业A	开业	   法人1 
 企业B	筹建期	   法人1 
 企业C	非正常	   法人1 
 企业D	非正常注销  法人1 
 企业E	注销	   法人1 
 */   
 select a.*,b.nsrsbh,b.nsrzt_dm from dj_nsrxx a 
 left join dj_nsrxx b on  a.zjhm=b.zjhm  and a.nsrzt_dm  in ( '开业 ', '筹建期 ') and b.nsrzt_dm in ( '非正常 ', '非正常注销 ') 
 where  a.nsrzt_dm  in ( '开业 ', '筹建期 ')   
 /* 
 nsrsbh  nsrzt_dm zjhm  nsrsbh   nsrzt_dm       
 -------------------------------------------  
 企业A	开业	法人1	企业C	非正常	         
 企业A	开业	法人1	企业D	非正常注销	  
 企业B	筹建期	法人1	企业C	非正常	          
 企业B	筹建期	法人1	企业D	非正常注销	  
 */
------解决方案--------------------if(object_id( 'dj_nsrxx ')is not null) 
 drop table dj_nsrxx   
 create table dj_nsrxx(nsrsbh varchar(20),nsrzt_dm varchar(20),zjhm varchar(20)) 
 insert into dj_nsrxx 
 select   '企业A ',   '开业 ',        '法人1 ' 
 union all  
 select   '企业B ',   '筹建期 ',      '法人1 ' 
 union all  
 select   '企业C ',   '非正常 ',      '法人1 ' 
 union all  
 select   '企业D ',   '非正常注销 ',  '法人1 ' 
 union all  
 select   '企业E ',   '注销 ',        '法人1 '     
 select a.*,b.nsrsbh,b.nsrzt_dm from dj_nsrxx a 
 left join dj_nsrxx b on  a.zjhm=b.zjhm   
 and b.nsrzt_dm in ( '非正常 ', '非正常注销 ') 
 where  a.nsrzt_dm  in ( '开业 ', '筹建期 ')   
 呵呵。。。。