一.求满足条件的前5条记录.
Menu_link表
ID Title parentID
1 人世间1 31
2 人世间2 31
4 人世间3 31
reco表
ID title parentID ............
1 公司1 1
2 公司2 1
3 公司3 1
4 公司4 1
5 公司5 1
6 公司6 1
7 公司7 2
其中Menu_link表ID 对应reco表的parentID 以下是我写的语句,显示reco表中符合条件的所有记录.但我只要
SELECT * FROM reco where parentID in(SELECT id FROM Menu_Link WHERE (parentid = 31) )
Menu_link表
ID Title parentID
1 人世间1 31
2 人世间2 31
4 人世间3 31
reco表
ID title parentID ............
1 公司1 1
2 公司2 1
3 公司3 1
4 公司4 1
5 公司5 1
6 公司6 1
7 公司7 2
其中Menu_link表ID 对应reco表的parentID 以下是我写的语句,显示reco表中符合条件的所有记录.但我只要
SELECT * FROM reco where parentID in(SELECT id FROM Menu_Link WHERE (parentid = 31) )
(
select a.*,b.* from Menu_link a,reco b where a.ID = b.parentID
)
(
select a.*,b.* from Menu_link a,reco b where a.ID = b.parentID and a.parentID = 31
)
SELECT top 5 reco.*
FROM reco inner join Menu_Link on reco.parentID=Menu_Link.id
where Menu_link.parentid = 31
insert into Menu_link values(1, '人世间1', 31)
insert into Menu_link values(2, '人世间2', 31)
insert into Menu_link values(4, '人世间3', 31)
go
create table reco(ID int,Title varchar(10),parentID int)
insert into reco values(1, '公司1', 1)
insert into reco values(2, '公司2', 1)
insert into reco values(3, '公司3', 1)
insert into reco values(4, '公司4', 1)
insert into reco values(5, '公司5', 1)
insert into reco values(6, '公司6', 1)
insert into reco values(7, '公司7', 2)
goselect top 5 * from
(
select b.* from Menu_link a,reco b where a.ID = b.parentID and a.parentID = 31
) tdrop table Menu_link,reco/*
ID Title parentID
----------- ---------- -----------
1 公司1 1
2 公司2 1
3 公司3 1
4 公司4 1
5 公司5 1(所影响的行数为 5 行)
*/
insert into Menu_link values(1, '人世间1', 31)
insert into Menu_link values(2, '人世间2', 31)
insert into Menu_link values(4, '人世间3', 31)
go
create table reco(ID int,Title varchar(10),parentID int)
insert into reco values(1, '公司1', 1)
insert into reco values(2, '公司2', 1)
insert into reco values(3, '公司3', 1)
insert into reco values(4, '公司4', 1)
insert into reco values(5, '公司5', 1)
insert into reco values(6, '公司6', 1)
insert into reco values(7, '公司7', 2)
goselect m.* from Menu_link a,
(select * from reco as t where (select count(*) from reco where parentID = t.parentID and id < t.id) < 5) m
where a.id = m.parentiddrop table Menu_link,reco/*
ID Title parentID
----------- ---------- -----------
1 公司1 1
2 公司2 1
3 公司3 1
4 公司4 1
5 公司5 1
7 公司7 2(所影响的行数为 6 行)
*/
dawugui(潇洒老乌龟)
说的对....可能是我没有表述清.
insert into Menu_link values(1, '人世间1', 31)
insert into Menu_link values(2, '人世间2', 31)
insert into Menu_link values(4, '人世间3', 31)
go
create table reco(ID int,Title varchar(10),parentID int)
insert into reco values(1, '公司1', 1)
insert into reco values(2, '公司2', 1)
insert into reco values(3, '公司3', 1)
insert into reco values(4, '公司4', 1)
insert into reco values(5, '公司5', 1)
insert into reco values(6, '公司6', 1)
insert into reco values(7, '公司7', 2)
goselect m.* from Menu_link a,
(select * from reco as t where (select count(*) from reco where parentID = t.parentID and id < t.id) < 5) m
where a.id = m.parentid and a.parentid = 31drop table Menu_link,reco/*
ID Title parentID
----------- ---------- -----------
1 公司1 1
2 公司2 1
3 公司3 1
4 公司4 1
5 公司5 1
7 公司7 2(所影响的行数为 6 行)
*/
感快支招
你直接删除了库啊?下个Log Explorer试试,祝你好运.(也说句,不好意思,没说清楚)用日志工具Log Explorer
步骤:
1、查看日志
a、打开log explorer,选择菜单File-->attach log file
b、在Log File Selection窗口中,填写连接到要恢复数据的数据库服务器机器名、数据库登录ID及密码,然后点击"Connect"按钮。
c、若连接成功,则窗口左边树将显示命令菜单,这时我们点击Browser下的View Log命令,此时窗口右边则出现该数据库的Log。
2、恢复数据库
这时您只要选择您要恢复对事件点,右键点击选择"undo transation"命令,保存T-SQL代码,然后在查询分析器中执行该T-SQL代码
ID Title parentID
1 分类1 31
2 分类2 31
4 分类3 31
reco表
ID title parentID sortID createDate ............
1 公司1 1 2 2005-5-4
2 公司2 1 1 2005-5-4
3 公司3 1 2 2005-5-7
4 公司4 1 2 2005-5-8
5 公司5 1 2 2005-5-4
6 公司6 1 2 2005-5-4
7 公司7 2 1 2005-5-4
其中Menu_link表ID 对应reco表的parentID
显示结果如下:(根据menu_link中不同的"Id"显示Reco表中的满足条件:按sortID asc,CreateDate desc排序,的前3条记录)
ID Title parentID Title1
----------- ---------- -----------
1 公司2 1 分类1
3 公司4 1 分类1
4 公司3 1 分类1
7 公司7 2 分类2