日期:2014-05-18 浏览次数:20381 次
--sql 2000 select isnull(m.项目名称,n.项目名称) 项目名称, m.概算类型 , m.概算名称 , m.概算金额 , n.合同类型 , n.合同编号 , n.合同名称 , n.合同金额 from (select t.* , px = (select count(1) from t1 where 项目名称 = t.项目名称 and 概算类型 < t.概算类型) + 1 from t1 t) m full join (select t.* , px = (select count(1) from t2 where 项目名称 = t.项目名称 and 概算类型 < t.概算类型) + 1 from t2 t) n on m.项目名称 = n.项目名称 and m.px = n.px
------解决方案--------------------
--> 测试数据:[tbl1] if object_id('[tbl1]') is not null drop table [tbl1] create table [tbl1]([项目名称] varchar(8),[概算类型] varchar(8),[概算名称] int,[概算金额] int) insert [tbl1] select '中三改造','工程概算',121,80 union all select '中三改造','征地拆迁',565,50 --> 测试数据:[tbl2] if object_id('[tbl2]') is not null drop table [tbl2] create table [tbl2]( [项目名称] varchar(8), [合同类型] varchar(8), [合同编号] int, [合同名称] varchar(4), [合同金额] int ) insert [tbl2] select '中三改造','建设合同',1212,'城投',100 union all select '中三改造','建设合同',45,'4545',20 select a.项目名称,a.概算类型,a.概算名称,a.概算金额, b.合同类型,b.合同编号,b.合同名称,b.合同金额 from( select ROW_NUMBER()over(order by getdate()) as id,* from [tbl1])a inner join( select ROW_NUMBER()over(order by getdate()) as id,* from [tbl2])b on a.项目名称=b.项目名称 and a.id=b.id /* 项目名称 概算类型 概算名称 概算金额 合同类型 合同编号 合同名称 合同金额 中三改造 工程概算 121 80 建设合同 1212 城投 100 中三改造 征地拆迁 565 50 建设合同 45 4545 20 */
------解决方案--------------------