我有这个小程序在C#中不断发送数据到我的一个表(DataTable)。数据格式总是和长度一样。如何在SQL Server中选择特定的ID和时间
有4个不同的ID
s我在这里工作:2000,2001,2002,...这些都在不同的表中。 ID
列是我的DataTable
列中的外键。
最初我以为我可以检索我的DataTable
中最后一个插入的行,针对特定的ID
。但是,我意识到insert语句会按照发送顺序将值分配到数据库中。因此,我决定简单地采取ID
并根据时间戳获取最后一行数据。
我试过使用DatePart
但这限制了我只有几个小时。我想显示一个基于小时和分钟的时间。例如:2002 between '4:30:00' and '5:30:00'
。
此外,我是否必须做一个加入声明,因为我会从另一个表中调用ID
列?
我用尽这至今:`
use LogDatabase
select * from dbo.DataTable
join CustomerTable
on(Customer_ID = CustIDFk)
where DATEPART(HH, TimeStamp)between 4 and 5 `
传入的数据串看起来很多这样的:
3-13-2011 3:30:21 2002: 45 Temp:81 Albany NY etc....
我已经在我的DataTable取得数据的每个字段列。如您所见 2002是我的CustomerTable中称为Customer_ID的ID。我已将此 设置为CustomerTable中的主键,并且CustIDFk是与Customer_ID链接 的外键。正如您所看到的,我试图将我的客户表与我的Data 表加入以指定ID。日期部分语句允许用在其他任一小时或分钟,得到时间范围 但不允许“之间4:30和5:30。
您需要以显示一些示例数据和目前已撰写的任何疑问 - 即使它们不工作 – Yuck 2012-03-20 14:21:23
我同意Yuck。目前,这对我没有多大意义,表格定义和一些示例数据将回答一整车的问题,我们将不得不要求您了解您的问题。 – 2012-03-20 14:36:53
@Rick:请**不要**代码示例和类似的东西到评论 - **真的很难**阅读!请改为:**更新**你的原始l问题提供更多信息! – 2012-03-20 14:42:08