从 SQL 服务器查询中获取两个结果集会给出两个不同的输出

Getting two result sets from SQL Server query gives two different outputs

我创建了一个存储过程,它在我的本地 sql 服务器数据库上运行良好,但同样的过程在 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

谢谢..

你试过了吗:

select [User_Id],UserName 
from RegisterTable 
where Status='Active' 

UNION ALL

select [User_Id],UserName 
from DistributerTable 
where Status='Active'

或者您正在寻找两个不同的结果集?

您可以为这些查询创建两个不同的过程,并在您的应用程序中合并结果集code.I给您举个例子

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);

我认为它应该完成你的工作。