我想在我的.NET应用程序中生成一个Winforms报告。我们的用户希望知道特定焊工在两个日期之间完成的焊接类型。用户还需要证明此焊接已完成。前端很简单,但我在如何获取数据上挣扎。T-SQL有多个选择的存储过程
我有一个存储过程,下面的SQL查询:
输入参数:@WelderNo INT, @StartDate DATETIME, @EndDate DATETIME
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, @EndDate DATETIME, @wi_wpsnumber NVARCHAR(MAX)
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
如何创建一个存储过程返回一个表,这两个查询的组合?我无法将这些查询合并为一个独立的函数,并且返回多个相同的wi_wpsnumber。我正在查看临时表,但是我不明白如何将这些查询的结果插入同一行。感谢您的帮助
链接到数据库图表:http://i1215.photobucket.com/albums/cc510/gazamatazzer/DatabaseDiagram.jpg
一些表格布局将是有益的;-) – 2010-11-12 10:07:38
数据库图表链接添加:) – gazamatazzer 2010-11-12 10:35:04