2017-06-20 142 views
-1
Select tblppmp.idn 
,tblppmp.total_item as a_total 
,tblRequest.Quantity as b_total 
,tblppmp.total_item - tblRequest.Quantity as itemsleft 
FROM ppmp.dbo.tblppmp 
INNER JOIN 
(SELECT 
tblrequest.idn 
,sum(tblRequest.Quantity) AS Quantity 
FROM ppmp.dbo.tblrequest 
WHERE tblrequest.dr_year = 2015 
GROUP BY tblrequest.idn) tblrequest ON tblppmp.idn = tblrequest.idn 

上面如何来创建存储过程是我的代码,如何创建存储过程和dr_year可能改变的值取决于由user..sample选择的文本框或组合框,其中tblrequest。 dr_year =“Textbox1.text”在SQL Server 2008

+0

在哪里文本框?这是一个VB应用程序,ASP.NET? – Ryan

+0

Vb sir .. visual basic 2008 –

+0

sir?你在吗? LINQ SIR中的 –

回答

1

不同的值来自文本框还是组合框是无关紧要的。它将始终作为SQL parameter进入您的存储过程。

要创建存储过程,简单地执行你的数据库在以下方面:

USE AdventureWorks 
GO 

CREATE PROCEDURE dbo.uspGetAddress 
AS 
SELECT * FROM Person.Address 
GO 

替换为在CERATE PROCEDURE命令,在USE命令数据库名“的AdventureWorks”和程序名称“uspGetAddress”你数据库和过程名称分别为

由于您具有动态日期值,因此您需要添加参数。这会改变你的SQL代码看起来更像是这样的:

CREATE PROCEDURE dbo.uspGetAddress @Date datetime 
AS 
... 
GO 

Check out MsSQLTips for more info

+0

。如何在LINQ中创建我的代码?..我不能在LINQ中创建我的代码..我不知道如何开始代码.. –

+0

你的问题是错的。它特别提出了如何创建一个存储过程,但没有提到linq。我建议你问一个关于如何将该sql语句转换为linq查询的新问题。 – Ortund

+0

感谢您的理解,先生 –