W
wwwone
Unregistered / Unconfirmed
GUEST, unregistred user!
大家好,请教一个sql的分页查询问题
x := 1; //x为第几页数
abcd := x * 50;
with dm.ClientDataSet_Add do
begin
Close;
CommandText := '';
CommandText ::= 'select top 50 * from [客户] where (id>(select max(id) from (select top ' + inttostr(abcd) + ' id from [客户] order by id) as t)) order by id';
Open;
end;
这个可以查询到数据
现在我想把"客户"这个表变成一个子查询,也就是用这个:select * from [客户] where 客户名称='''+trim(edit3.text)+''' 替换"客户"这个表
即:
x := 1; //x为第几页数
abcd := x * 50;
with dm.ClientDataSet_Add do
begin
Close;
CommandText := '';
CommandText ::= 'select top 50 * from (select * from [客户] where 客户名称='''+trim(edit3.text)+''') where (id>(select max(id) from (select top ' + inttostr(abcd) + ' id from (select * from [客户] where 客户名称='''+trim(edit3.text)+''') order by id) as t)) order by id';
Open;
end;
执行操作:老是说where附近有语法错识,我的错在那里,应该怎样写
能否帮帮我写一下,分不够再加
x := 1; //x为第几页数
abcd := x * 50;
with dm.ClientDataSet_Add do
begin
Close;
CommandText := '';
CommandText ::= 'select top 50 * from [客户] where (id>(select max(id) from (select top ' + inttostr(abcd) + ' id from [客户] order by id) as t)) order by id';
Open;
end;
这个可以查询到数据
现在我想把"客户"这个表变成一个子查询,也就是用这个:select * from [客户] where 客户名称='''+trim(edit3.text)+''' 替换"客户"这个表
即:
x := 1; //x为第几页数
abcd := x * 50;
with dm.ClientDataSet_Add do
begin
Close;
CommandText := '';
CommandText ::= 'select top 50 * from (select * from [客户] where 客户名称='''+trim(edit3.text)+''') where (id>(select max(id) from (select top ' + inttostr(abcd) + ' id from (select * from [客户] where 客户名称='''+trim(edit3.text)+''') order by id) as t)) order by id';
Open;
end;
执行操作:老是说where附近有语法错识,我的错在那里,应该怎样写
能否帮帮我写一下,分不够再加