标题:求一个解决方法
只看楼主
stwenfe
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2006-3-8
 问题点数:0 回复次数:2 
求一个解决方法
求一个解决方法
有两个表
姓名  证书名称1  发证时间1  有效日期1       证书名称2      发证时间2     有效日期2  
1      资格证1    1990-1-1   发证时间+有效期     资格证2      1992-1-1     发证时间+有效期

证书名称 有效期  
资格证1  2年
资格证2  1年

现在想直接用发证时间加上资格证对应的有效期得到有效日期,应该怎么写sql啊
搜索更多相关主题的帖子: 资格证 有效期 姓名 证书 
2008-01-05 14:38
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
得分:0 
create table long1(姓名 varchar(10) not null,证书名称1 varchar(30),发证时间1 smalldatetime,证书名称2 varchar(20),发证时间2 smalldatetime )
insert into long1 values('1','资格证1','1900-1-1','资格证2','1992-1-1')
go

create table long2 (姓名 varchar(10) not null,证书名称 varchar(30),有效期 int)
insert into long2 values ('1','资格证1',2)
insert into long2 values ('1','资格证2',1)
go

select a.姓名,发证时间1,dateadd(year,有效期,发证时间1) as 有效日期1,证书名称2,发证时间2,dateadd(year,有效期,发证时间2) as 有效日期2
from long1 a inner join long2 b on a.姓名=b.姓名
不知道楼主是这个意思吗?
我的日期取的还是有点问题,不尽如人意。
2008-01-05 20:30
stwenfe
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2006-3-8
得分:0 
谢谢楼上的,我是这个意思,用自连接的内连接方式解决了
select 姓名 ,发证时间1,DateAdd(yyyy,表21.有效期,发证时间1),发证时间2,DateAdd(yyyy,表22.有效期,发证时间2) from 表1,表2 表21 inner join 表2 表22 on 表21.证书名称=‘资格证1’ and 表22.资格证=‘资格证2’

表2 的两个别名 表21 和表22
2008-01-05 22:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-196014-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.224706 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved