3个表关联的数据。解决思路

3个表关联的数据。

--a表.主数据表头
BINDID           SJ
1001       2014-02-19 17:23:02.0
1002       2014-02-18 17:22:35.0

--b表.主数据数据
BINDID      wl    AQ
---------------------
1001       WL1     Y     
1001       WL2     Y     
1001       WL3           
1002       WL1     N    
1002       WL2     N      
1002       WL3           
1002       WL4     Y
1002       WL5     Y     

--两组BINDID不同的数据:字段wl物料有重复的话将最新时间对应的数据查询出,
--想要的结果为:
wl     AQ
----------
WL1     Y    
WL2     Y    
WL3         
WL4     Y
WL5     Y
--然后把上面的结果和c表:根据物料wl进行关联
--c表.送检表
wl     name     
--------------------
WL1     aa       
WL2     bb         
WL3     cc           
WL4     dd     
WL5     ee    
--最终的结果:
wl     name      AQ
--------------------
WL1     aa       Y    
WL2     bb       Y    
WL3     cc           
WL4     dd       Y
WL5     ee       Y
---
--最终的sql改怎么写?

------解决方案--------------------
试试这个

--drop table A,B,C

create table a(BINDID int, SJ datetime)

insert into a
select 1001       ,'2014-02-19 17:23:02.0' union all
select 1002       ,'2014-02-18 17:22:35.0'

create table b(BINDID int,wl varchar(10),AQ varchar(10))

insert into B
select 1001       ,'WL1',     'Y' union all     
select 1001       ,'WL2',     'Y' union all     
select 1001       ,'WL3',     null union all
select 1002       ,'WL1',     'N' union all    
select 1002       ,'WL2',     'N' union all      
select 1002       ,'WL3',     null union all    
select 1002       ,'WL4',     'Y' union all
select 1002       ,'WL5',     'Y' 


create table c(wl varchar(10),name varchar(10))

insert into c
select 'WL1',     'aa' union all      
select 'WL2',     'bb' union all         
select 'WL3',     'cc' union all 
select 'WL4',     'dd' union all     
select 'WL5',     'ee'
go


select t.wl,c.name,t.AQ
from 

select b.BINDID,b.wl,b.AQ,
       ROW_NUMBER() over(partition by b.wl order by a.sj desc) rownum
from b
inner join a
        on a.BINDID = b.BINDID
)t
inner join c
        on t.wl = c.wl
where t.rownum = 1    
/*
wl name AQ
WL1 aa Y
WL2 bb Y
WL3 cc NULL
WL4 dd Y
WL5 ee Y
*/          

------解决方案--------------------