有个SQL语句想问一下:两个表
[A]字段:ID,UserName,GroupID
[B]字段: ID,Name,Re
select
...............
from
(select ID,Name,
(select top 1 Name from B order by B.ID Desc)as B_Name,
(select top 1 Re from B order by B.ID Desc)as B_Re
from A )x我那几个表太复杂没写上来,具体表不是这两个,但是SQL语句就是这个意思,我看了一下,在两个子查询中当数据很多的时候会占用很长的时间,不知道,可不可以查一次就可以调出来两个字段,B_Name,和,B_Re两字段要分开。
还有当我要取最后一条数据的时候是不是非要order by XXX Desc 再用TOP 呀,我发现这样也很浪费时间,不知道有没有其它的方法,非常感谢!
哪位兄弟帮忙解决100全分奉上。如果还不太清楚请留言。
[A]字段:ID,UserName,GroupID
[B]字段: ID,Name,Re
select
...............
from
(select ID,Name,
(select top 1 Name from B order by B.ID Desc)as B_Name,
(select top 1 Re from B order by B.ID Desc)as B_Re
from A )x我那几个表太复杂没写上来,具体表不是这两个,但是SQL语句就是这个意思,我看了一下,在两个子查询中当数据很多的时候会占用很长的时间,不知道,可不可以查一次就可以调出来两个字段,B_Name,和,B_Re两字段要分开。
还有当我要取最后一条数据的时候是不是非要order by XXX Desc 再用TOP 呀,我发现这样也很浪费时间,不知道有没有其它的方法,非常感谢!
哪位兄弟帮忙解决100全分奉上。如果还不太清楚请留言。
解决方案 »
- DBgrideh无法录入小数
- 谁用过indy的IdTcpServer来处理数据?或做过socket通讯的高手看看,就剩这点分了,头大
- 数字1至8按规则排序问题,求高手解
- 请问这样的字符串替换应该怎么做?谢谢。
- 告别csdn,散分!只有这么多分了
- 怎么隐藏任务栏和显示任务栏?
- 今天报高级程序员了,考过的朋友进来介绍一下经验,顺便散分,下班结帐
- “木鱼”的贴……谢谢大家!!!
- 在WINDOWS平台中,在许多的应用软件的相互切换过程中,我怎样才能知到我的应用程序处于激活状态?
- Dll 中加入ADO出现问题
- 自己用delphi做的MIS 那位达人给指点下啊~~感激不尽
- API中的LARGE_INTEGER 在delphi中是什么类型??
select ID, Name form A
select Top 1 Name, Re from B order by ID Desc
分两次查询结构多清晰!
select * from A, (select top 1 Name as B_Name, Re as B_Re from B order by ID Desc) X
select
...............
from
(select ID,Name,
(select top 1 Name from B order by B.ID Desc)as B_Name,
(select top 1 Re from B order by B.ID Desc)as B_Re
from A )x 你的这个语句中,两个TOP1语句中,既然都是根据B.ID来排序,那你至少这里就可以合并成一个TOP语句了;在查询A之后,在作为一个子表来查询,我觉得也是多余的,因为你没有和其他的数据表进行关联。
你是不是想要取出A、B两表中ID相同的项,其中B中的两个项目转成ID最大值的记录的值。
select ...
from
(
select B.ID,B.name,
(select name from b where id =(select max(id) from b) ) as B_Name,
(select re from b where id =(select max(id) from b) ) as B_Re
from B,A
where B.id = A.ID ) X
from
(
select B.ID,B.name,
(select name from b where id =(select max(id) from b where b.Id=A.id)) as B_Name,
(select re from b where id =(select max(id) from b where where b.Id=A.id)) as B_Re
from A ) X