现在有三个表A B C
A表字段有id,a1,a2 ;B表字段有id,b1,b2 ;C表字段有id,c1,c2
id自增主键。
现在需要把a1.a2.b1,b2,c1,c2 放在同一个表单中。但是a1,a2是按照id的降序排列,b1,b2是按照id降序,c1,c2同上。因为各表数据各不同,所以只要各表中降序排列的前200个数据,形成一个表单。
自己试了很多次,还是没有完成这个SQL语句,求指导。
A表字段有id,a1,a2 ;B表字段有id,b1,b2 ;C表字段有id,c1,c2
id自增主键。
现在需要把a1.a2.b1,b2,c1,c2 放在同一个表单中。但是a1,a2是按照id的降序排列,b1,b2是按照id降序,c1,c2同上。因为各表数据各不同,所以只要各表中降序排列的前200个数据,形成一个表单。
自己试了很多次,还是没有完成这个SQL语句,求指导。
解决方案 »
- 如下的sql 语句如何写
- 进入sql2000的“企业管理器”后,怎样察看当前的角色成员是什么?
- 关于大量的数据导入的问题
- 怎样在系统进行insert ,update,delete时不生成日志呢?因为操作量太大
- 求一sql语句
- 如图! 求解!!!!跪求 高手指点
- 请问一个删除旧记录的删除语句,Delete的。
- 请教各位一个必须用试图写的SQL语句!在线等
- 有多个日志文件的SQL Server数据库,删掉一个log后真的如何恢复?
- Oracel在win2000 profersionnal下同在win2000 server下不同吗?
- SQL sever中模式匹配查询问题,求解……
- Sql分组排序问题
union all
;with t1 as
(select row_number() over(order by id desc) as arowid,a1,a2 from A表)
,t2 as
(select row_number() over(order by id desc) as browid,b1,b2 from B表)
,t3 as
(select row_number() over(order by id desc) as crowid,c1,c2 from C表)select * from t1 a
left outer join t2 b on a.arowid=b.browid
left outer join t3 c on a.arowid=c.crowid
说明:tabNew为一个不存在的表,会自动帮你创建。你试试看,看可不可以!
union all
select * from table1
union all
select * from table1
select top 200 a1,a2,identity(int,1,1) id into A1 from A order by id desc
select top 200 b1,b2,identity(int,1,1) id into B1 from B order by id desc
select top 200 c1,c2,identity(int,1,1) id into C1 from C order by id desc
--利用种子id查询
select * from A1,B1,C1 where A1.id=B1.id and B1.id=C1.id
--删除临时表
drop talbe A1,B1,C1
CREATE TABLE #temp2(id INT IDENTITY, b1 INT, b2 INT)
CREATE TABLE #temp3(id INT IDENTITY, c1 INT, c2 INT)
INSERT #temp1 SELECT 1, 1 UNION ALL SELECT 2, 2
INSERT #temp2 SELECT 1, 1 UNION ALL SELECT 2, 2
INSERT #temp3 SELECT 1, 1 UNION ALL SELECT 2, 2
GO
--SQL:
SELECT * FROM (SELECT TOP(200) a1, a2 FROM #temp1 ORDER BY ID DESC) a
UNION ALL
SELECT * FROM (SELECT TOP(200) b1, b2 FROM #temp2 ORDER BY ID DESC) b
UNION ALL
SELECT * FROM (SELECT TOP(200) c1, c2 FROM #temp3 ORDER BY ID DESC) c
/*
2 2
1 1
2 2
1 1
2 2
1 1
*/
能不能只用一个sql语句,我是建立一个gridview,里面的sql语句应该只是一个吧。