我创建了一个存储过程,它可以在我的本地sql server数据库上正常工作,但同样的过程不适用于bigrocks的Live Server。实际上我在两个不同的查询中从两个表中获取数据,在实时环境中,第一个查询的数据只是获取。
请建议如何解决这个问题。
CRAETE procedure [dbo].[usp_RegisterTable_GetAllUserName]
as
begin
select [User_Id],UserName from RegisterTable where Status='Active'
select [User_Id],UserName from DistributerTable where Status='Active'
end
谢谢..
答案 0 :(得分:1)
您可以为这些查询创建两个不同的过程,并在应用程序代码中合并结果集。我举个例子
CREATE PROCEDURE FromRgisterTable
AS
BEGIN
select [User_Id],UserName from RegisterTable where Status='Active'
END
CREATE PROCEDURE FromDistributerTable
AS
BEGIN
select [User_Id],UserName from DistributerTable where Status='Active'
END
在c#中的应用程序代码中
DataTable dt1 = new DataTable();
DataTable dt2 = new DataTable();
SqlDataAdapter sqlda1 = new SqlDataAdapter("FromFirstProcedure", Connect());
sqlda1.SelectCommand.CommandType = CommandType.StoredProcedure;
sqlda1.Fill(dt1);
SqlDataAdapter sqlda2 = new SqlDataAdapter("FromSecondProcedure", Connect());
sqlda2.SelectCommand.CommandType = CommandType.StoredProcedure;
sqlda2.Fill(dt2);
dt1.Merge(dt2);
我认为应该完成你的工作。
答案 1 :(得分:0)
你试过了吗?
select [User_Id],UserName
from RegisterTable
where Status='Active'
UNION ALL
select [User_Id],UserName
from DistributerTable
where Status='Active'
或者您正在寻找两种不同的结果集?