您的位置:首页 > 数据库

SQLSERVER结合两个数据库的查询

2011-08-09 11:35 411 查看
public static DataTable Admin_usersPaging(int StartRowIndex, int EndRowIndex, params string[] condition)
{
string str = "";
if (condition != null && condition.Length > 0)
{

//str = "select * from (select u.userId,u.loginname,tu.teamId,t.teamName,dt.DeptId,d.deptName ,ROW_NUMBER() over(order by u.userId)as rowNum  from Users u "
//     + "left join TeamUser tu on u.userId=tu.userId and tu.isDefault=1 "
//      + "left join Team t on tu.teamId=t.teamId "
//      + "left join DeptTeam dt on tu.teamId=dt.TeamId and dt.DeptTeamId in (select min(DeptTeamId) from DeptTeam group by teamId) "
//      + "left join Dept d on dt.DeptId=d.DeptId "
//      + "where enabled=1 and isExternal=1 and " + condition[0] + " ) us where rowNum between " + StartRowIndex + " and " + EndRowIndex + " ";

str = "select * from (select u.userId,u.loginname,tu.teamId,t.teamName,dt.DeptId,d.deptName,aspu.UserId as aspUserId,ur.RoleId,r.RoleName,m.Email,m.Password,isnull(m.IsLockedOut,0) as IsLockedOut,ROW_NUMBER() over(order by u.userId)as rowNum  from EmiteWF.dbo.Users u "
+ "left join aspnet_Users aspu on u.loginname=aspu.UserName "
+ "left join aspnet_UsersInRoles ur on ur.UserId=aspu.UserId "
+ "left join aspnet_Roles r on r.RoleId=ur.RoleId "
+ "left join aspnet_Membership m on m.UserId=aspu.UserId "
+ "left join EmiteWF.dbo.TeamUser tu on u.userId=tu.userId and tu.isDefault=1 "
+ "left join EmiteWF.dbo.Team t on tu.teamId=t.teamId "
+ "left join EmiteWF.dbo.DeptTeam dt on tu.teamId=dt.TeamId and dt.DeptTeamId in (select min(DeptTeamId) from EmiteWF.dbo.DeptTeam group by teamId) "
+ "left join EmiteWF.dbo.Dept d on dt.DeptId=d.DeptId "
+ "where enabled=1 and isExternal=1 and " + condition[0] + " ) us where rowNum between " + StartRowIndex + " and " + EndRowIndex + " ";

}
else
{
str = "select u.userId,u.loginname,tu.teamId,t.teamName,dt.DeptId,d.deptName,aspu.UserId as aspUserId,ur.RoleId,r.RoleName,m.Email,m.Password,isnull(m.IsLockedOut,0) as IsLockedOut  from (select *,ROW_NUMBER() over(order by userId) as rowNum from EmiteWF.dbo.Users where enabled=1 and isExternal=1 ) u "
+ "left join aspnet_Users aspu on u.loginname=aspu.UserName "
+ "left join aspnet_UsersInRoles ur on ur.UserId=aspu.UserId "
+ "left join aspnet_Roles r on r.RoleId=ur.RoleId "
+ "left join aspnet_Membership m on m.UserId=aspu.UserId "
+ "left join EmiteWF.dbo.TeamUser tu on u.userId=tu.userId and tu.isDefault=1 "
+ "left join EmiteWF.dbo.Team t on tu.teamId=t.teamId "
+ "left join EmiteWF.dbo.DeptTeam dt on tu.teamId=dt.TeamId and dt.DeptTeamId in (select min(DeptTeamId) from EmiteWF.dbo.DeptTeam group by teamId)  "
+ "left join EmiteWF.dbo.Dept d on dt.DeptId=d.DeptId "
+ "where rowNum between " + StartRowIndex + " and " + EndRowIndex + " ";
}
DataTable dt = AspnetDbConnector.GenerateDataTable(str);
return dt;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息