日期:2014-05-16  浏览次数:20538 次

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&nb