2006-08-25

高级自定义查询、分页、多表联合存储过程

来源: 中国本站网 作者:佚名 评论 0 条
 
if not (@PlanEndDateF is null)
SET @WhereClause = @WhereClause 'AND
(([PlanEndDate] is null) or ([PlanEndDate] >= CAST(''' CAST(@PlanEndDateF as nvarchar) ''' AS datetime)))'
if not (@PlanEndDateL is null)
SET @WhereClause = @WhereClause 'AND
(([PlanEndDate] is null) or ([PlanEndDate] <= CAST(''' CAST(@PlanEndDateL as nvarchar) ''' AS datetime)))'
if not (@CompletedDateF is null)
SET @WhereClause = @WhereClause 'AND
(([CompletedDate] is null) or ([CompletedDate] >= CAST(''' CAST(@CompletedDateF as nvarchar) ''' AS datetime)))'
if not (@CompletedDateL is null)
SET @WhereClause = @WhereClause 'AND
(([CompletedDate] is null) or ([CompletedDate] <= CAST(''' CAST(@CompletedDateL as nvarchar) ''' AS datetime)))'
if (@WhereClause = 'WHERE --')
SET @WhereClause = ''

SET @sql = '
SELECT
Task.[TaskID],
[TaskSQN],
[TaskName],
[DepartmentID],
[ChangerID],
[CreatedDate],
(SELECT FullName FROM dbo.UserInfo AS CreatorUser WHERE (dbo.Task.CreatorID = UserID)) AS
Creator,
[CreatorID],
[Triage],
(SELECT DepartmentName FROM dbo.Department WHERE (dbo.Task.DepartmentID = DepartmentID)) AS
Department,
[ChiefID],
(SELECT FullName FROM dbo.UserInfo AS ChiefUser WHERE (dbo.Task.ChiefID = UserID)) AS
Chief,
[ProjectID],
(SELECT ProjectName FROM dbo.Project WHERE (dbo.Task.ProjectID = ProjectID)) AS
Project,
[PlanEndDate],
[PlanStartDate],
[CompletedDate],
[Priority],
[State],
[WorkLoad],
(SELECT TaskName FROM dbo.Task AS ParentTask WHERE (dbo.Task.ParentID = TaskID)) AS
ParentTask,
[ParentID],
(SELECT ProjectAreaName FROM dbo.ProjectArea WHERE (dbo.Task.ProjectAreaID = ProjectAreaID)) AS
ProjectArea,
[ProjectAreaID],
[Description],
[Rev],
[ChangedDate],
(SELECT FullName FROM dbo.UserInfo AS ChangerUser WHERE (dbo.Task.ChangerID = UserID)) AS
Changer
FROM Task,
(SELECT
[TaskID],
ROW_NUMBER() OVER (ORDER BY ' @FSortExpression ') AS RowRank
FROM [Task]
' @WhereClause '
) AS RankTask
WHERE (Task.TaskID = RankTask.TaskID)
AND (RankTask.RowRank >= ' CONVERT(nvarchar(10), @FStartRowIndex) ')
AND (RankTask.RowRank < ' CONVERT(nvarchar(10), @FEndRowIndex) ')
'

SET @ViewSql = '
SELECT
ViewTask.[TaskID],
[TaskSQN],
[TaskName],
[DepartmentID],
[ChangerID],
[CreatedDate],
[Creator],
[CreatorID],
[Triage],
[Department],
[ChiefID],
[Chief],
[ProjectID],
[Project],
[PlanEndDate],
[PlanStartDate],
[CompletedDate],
[Priority],
[State],
共7页: 上一页 [1] 2 [3] [4] [5] [6] [7] 下一页

(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:学习动态网页PHP技术常见问题汇总解答  
下一篇:一个Select出一个表中第N条记录的Sql代码
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号