数据库的问题(100分)

  • 主题发起人 主题发起人 xudai
  • 开始时间 开始时间
X

xudai

Unregistered / Unconfirmed
GUEST, unregistred user!
.我要在Dbgrid中只显示最近时间的记录,应该实现?

time hlcode data
12:10 1 23.2
12:10 2 25.3
12:30 1 23.5
13:40 1 34.5
13:40 2 23.8
即我怎么把13:40对应的记录取出来。
2.
我有一个表单
time td1 td2 td3
12:10 1 2 3
12:20 4 5 6
要转化为
time tdcode tdvalue
12:10 td1 1
12:10 td2 2
... ... ...
what should ido
?
3。我想从实时数据库中判断是否报警,然后入报警数据库。
应该如何实现?
 
1.select * from table where time=(select max(time) from table)
 
table1.first
while not table1.eof()do
begin
table2.insert
table2.time.value :=table1.time.value
table2.tdcode.value:= table1.td1
table2.tdvalue.value:=table1.td1.value
table2.insert
...
table1.next
end
 
1,象POPEYE那样写SQL:select * from table where time=
(select max(time) from table)
2,暂时没有简捷的方法,还是自己读出第一个表的记录,然后一条一条地
插入到第二个表中。或者写一个存储过程也可以实现同样功能。
3,你是想判断某一个值是否超过界限吧?何不在程序里插入之前判断呢?
如果一定要在数据库里做,也可以写一个Trigger:
CREATE TRIGGER [TabAlert] ON [Table1]
FOR INSERT
AS
if exists (select * from inserted where data>10)
insert into table2(exp1,exp2...) values (data1,data2...)
写好上面的Trigger后每次Table1插入数据某个data值超过10,Table2就会
插入一个指定的信息。上面的例子是在MSSql上的,不同数据库参看不同语法。
 
2:
SELECT time,'td1' AS tdcode,td1 FROM table1 UNION
SELECT time,'td2' AS tdcode,td2 FROM table1 UNION
SELECT time,'td3' AS tdcode,td3 FROM table1
 
select top 1 * from table
order by time
 
多人接受答案了。
 
后退
顶部