请教个问题关于spl的
有三张表: 
 table1                                                table2 
 p_code,p_name                                       p_code,pin_number,pin_date 
 0001               A                                                   0001            324                     2007-6-1    
 0002               B                                                   0002            433                     2007-6-3     
 table3 
 p_code,pout_number,pout_date 
 0002                  4334                  2007-6-1 
 0001                  3244                  2007-6-4   
 怎样输出:      
 p_code,pin_date,pin_number,pout_date,pout_number 
 0002                                                                     2007-6-1         4334 
 0001         2007-6-1         324                               
 0001                                                                     2007-6-4         3244 
 0002         2007-6-3         433                                
------解决方案--------------------select a.p_code,cast(varchar(10),b.pin_date,120) pin_date,b.pin_number , pout_date =  ' ',pout_number = 0  
 from table1 a, table2 b where a.p_code = b.p_code 
 union all 
 select a.p_code, pin_date =  ' ', pin_number = 0 , cast(varchar(10),pout_date,120) pout_date , pout_number 
 from table1 a, table3 b where a.p_code = b.p_code
------解决方案--------------------create table table1(p_code varchar(4),p_name varchar(1)) 
 insert into table1 values( '0001 ',      'A ' ) 
 insert into table1 values( '0002 ',      'B ' ) 
 create table table2(p_code varchar(4),pin_number int,pin_date datetime) 
 insert into table2 values( '0001 ',    324,        '2007-6-1 ' ) 
 insert into table2 values( '0002 ',    433,        '2007-6-3 ') 
 create table table3(p_code varchar(4),pout_number int,pout_date datetime) 
 insert into table3 values( '0002 ',      4334,       '2007-6-1 ' ) 
 insert into table3 values( '0001 ',      3244,       '2007-6-4 ') 
 go   
 select a.p_code,convert(varchar(10),b.pin_date,120) pin_date,b.pin_number , pout_date =  ' ',pout_number = 0  
 from table1 a, table2 b where a.p_code = b.p_code 
 union all 
 select a.p_code, pin_date =  ' ', pin_number = 0 , convert(varchar(10),pout_date,120) pout_date , pout_number 
 from table1 a, table3 b where a.p_code = b.p_code 
 order by a.p_code,a.pin_date 
 drop table table1,table2,table3   
 /* 
 p_code pin_date   pin_number  pout_date  pout_number  
 ------ ---------- ----------- ---------- -----------  
 0001              0           2007-06-04 3244 
 0001