2010-02-07 73 views
0

使用VB.Net和SQL 2005如何插入两个日期

表1

Name FromDate ToDate 

Sched1 20091201 20091231 
Sched2 20090515 20090613 
..., 

表2中我想添加一个时间没有fromdate和todate

之间的日期之间的时间

表2

Name Date  StartTime EndTime 

Sched1 20091201 080000 120000 
..., 

在我的应用程序中使用“AddTime”按钮。在点击事件中,我想写一个代码来为日期添加时间。

当我点击ADDTime按钮。它应该检查表2中的最大值(日期)。然后它应该在table2中显示max(date)的下一个日期。

对于实施例

Select max(date) from table where name = 'Sched1'. 

它应该显示下一个日期单元20091202.因为20091201数据是存在的。

对于Sched2,table2中没有数据,所以它应该显示Table1中的StartDate 20090515。

如何为这种情况编码或查询?

任何人都可以给我一个想法或样品的上述条件。

+1

老实说:我不明白你想要做什么......你能澄清一下吗? .... – 2010-02-07 09:36:35

+0

我想为EveryDate添加时间。假设对于02-01-2010日期的时间已经输入,它应该显示下一个日期。否则它应该显示开始日期。 – Gopal 2010-02-07 09:57:05

+0

你上次问这个怎么回事? http://stackoverflow.com/questions/1665544/how-to-generate-a-date-for-the-given-time – 2010-02-07 17:20:13

回答

2

我相信下面的查询将完成手头的任务。

Select isnull(max(t2.date)+1,t1.FromDate) 
from table1 t1 inner join table2 t2 
on t1.[Name] = t2.[Name] 
where t1.[name] = 'Sched1' 

查询是名称上加入两个表,并正在检查之后,有没有存在于表2的“Sched1的”任何日期,如果是的话,它将返回最大日期1天,和如果不是,它将返回'Sched1'的Table1的FromDate。

我建议你进一步阅读连接,你将无法正确,但只有没有连接的简单查询,进一步考虑使用整数为你的密钥。