作者a911zip (zip)
站内Database
标题Re: [SQL ] 请问能用SQL语法作出这样的查询吗?
时间Mon Nov 5 22:51:11 2007
可以用sursor 来撰写阿
declare @type varchar(10)
declare @dt datetime
select @type='数学' ,@dt='2000/1/1'
declare @terms varchar(10)
declare @data table (id_ varchar(10),time_ datetime,trems_ varchar(10),value_ numeric(100))
declare lop cursor fast_forward for
select terms from B grouop by terms
open lop
fetch next from lop into @terms
while @@fetch_status = 0
begin
insert @data
select top 100 id_,time,terms ,varue from B where terms=@type order by terms,value desc
fetch next from lop into @terms
end
close lop
deallocate lop
select b.id, a.name , b.terms, b.value
from A a ,B b
where a.id=b.id
大概是这样写吧 详细的可能你要修一下写法
※ 引述《kazumi6533 (patrick)》之铭言:
: 请问一下
: 我有一个表A(id, name), 表B(id, time, terms, value)
: 例如 A(001, 某甲), B(001, 2000/1/1, 数学, 100分)
: 然後我想透过terms跟value排序
: 例如2001/1/1 数学,然後照分数高低排
: 接下的顺序里面,前100名再按照英文排,以此类推
: 有办法直接透过SQL写出类似的查询吗?
: 或者是我一定要把2000/1/1的资料全部捞出来
: 然後自己用程式排序筛选?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.192.177.178