日期:2014-05-17  浏览次数:20602 次

问个sql
两个表,表头表和表体表。

取表头表里的最大时间,max(cmaketime)的单据id

通过这个id,取物料的表体的单价,

两个表是通过id关联的,

问下sql怎么写,谢谢!

------解决方案--------------------
SQL code

--> 测试数据:@T
declare @表头 table([id] int,[cmaketime] int)
insert @表头
select 1,6 union all
select 1,7 union all
select 1,8 union all
select 2,12 union all
select 2,13 union all
select 2,14 union all
select 3,25 union all
select 3,26 union all
select 3,28

--> 测试数据:@表体
declare @表体 table([id] int,[单价] int)
insert @表体
select 1,3 union all
select 2,5 union all
select 3,6

select 
    *,(select max([cmaketime]) from @表头 where id=t.id) as [cmaketime] 
from @表体 t
/*
id          单价          cmaketime
----------- ----------- -----------
1           3           8
2           5           14
3           6           28
*/