Tsql 具有多个选择的T-SQL存储过程

Tsql 具有多个选择的T-SQL存储过程,tsql,stored-procedures,Tsql,Stored Procedures,我正在尝试在.NET应用程序中生成Winforms报表。我们的用户希望了解特定焊工在两个日期之间进行的焊接类型。用户还需要证明该焊接已完成。前端很简单,但我正在努力获取数据 我在存储过程中有以下SQL查询: 输入参数:@WelderNo INT、@StartDate DATETIME、@enddatetime SELECT DISTINCT wi.wi_wpsnumbers FROM wi_weld_instance wi INNER JOIN wlds_weld_section ws ON w

我正在尝试在.NET应用程序中生成Winforms报表。我们的用户希望了解特定焊工在两个日期之间进行的焊接类型。用户还需要证明该焊接已完成。前端很简单,但我正在努力获取数据

我在存储过程中有以下SQL查询:

输入参数:
@WelderNo INT、@StartDate DATETIME、@enddatetime

SELECT DISTINCT wi.wi_wpsnumbers
FROM wi_weld_instance wi
INNER JOIN wlds_weld_section ws ON wi.weldinstanceid = ws.weldinstanceid
INNER JOIN erd_employee_resourcedetails e ON e.employeeid = ws.employeeid
WHERE (wi.wi_completiondate Between @StartDate AND @EndDate)
AND e.erd_welderno in (@WelderNo)
现在,我想获得关于返回的每个不同wi_wpsnumbers的一些其他信息。这是焊接已完成的证明。查询将如下所示:

输入参数:
@WelderNo INT、@StartDate DATETIME、@enddatetime、@wi\u wpsnumber NVARCHAR(MAX)

如何创建一个存储过程来返回一个包含这两个查询的表?我无法组合查询,因为distinct将不起作用并返回多个wi_wpsnumbers相同。我正在查看临时表,但不知道如何将这两个查询的结果插入同一行。谢谢你的帮助

链接到数据库关系图:

其中
x.*
提供了
xtable
中的所有内容,
y.*
提供了
ytable


其中
x.*
提供了
xtable
中的所有内容,
y.*
提供了
ytable中的所有内容
您可以从SP返回两个结果集。

读取第一个结果集后,只需调用两个选择并在客户端代码中使用即可检索第二个结果集。

您可以从SP返回两个结果集。

在阅读第一个结果集之后,只需调用两个select并在客户机代码中使用即可检索第二个结果集。

一些表格布局可能会有所帮助;-)添加了数据库关系图链接:)一些表布局可能会有帮助;-)添加了数据库关系图链接:)此操作有效,但删除了我所需的独特属性。此操作有效,但删除了我所需的独特属性。
SELECT TOP(1)  e.fabemployeename,
    erd_welderno,
    (pm.PM_Number), 
    (mm.mm_assemblymark), 
    (wd.wd_number),
    (wd.wd_length),
    (wi.wi_completiondate)
FROM wi_weld_instance wi
INNER JOIN wlds_weld_section ws ON wi.weldinstanceid = ws.weldinstanceid
INNER JOIN erd_employee_resourcedetails e ON e.employeeid = ws.employeeid
INNER JOIN wd_weld_definition wd ON wd.welddefinitionid = wi.welddefinitionid
INNER JOIN pm_project_map pm ON pm.projectmapid = wd.projectid
INNER JOIN mm_mark_map mm ON wd.assemblyid = mm.markmapid
WHERE (wi.wi_completiondate Between @StartDate AND @EndDate)
    AND e.erd_welderno in (@WelderNo) AND wi.wi_wpsnumbers = @wi_wpsnumber
select x.*, y.* from
(select * from xtable) x, (select * from ytable) y