如何用某些数据的所有可能实例填充数据表?

斯巴达93

我在编写SQL Server存储过程时遇到了一些麻烦。我有三个表ProductsCustomerInfoCustomerOrders

  • Products 有列 ProductID,Product, Price, Description
  • CustomerInfo 有列 CostumerID, Name, Address, Zipcode
  • CustomerOrders有类似的列CustomerID or TransactionID, ProductID, Quantity

现在,我正在尝试编写一个存储过程,该过程将把客户购买过的所有产品导入到数据表中。我有可以用作参数的客户名称。

需要注意的几件事:每次客户购买商品时,都会生成一个新商品CustomerIDTransactionID并且它们都是相同的。CustomerName是跨越多个订单,唯一不变的。

DECLARE @TransactionID int;

SET @TransactionID = @Id;

SELECT 
    P.Product, P.Price, 
    CP.TotalProducts as ProductQuantity 
FROM 
    Products P
INNER JOIN 
    CustomerProducts CP ON CP.ProductID = P.ProductID
WHERE
    CP.CustomerID = @TransactionID

此刻,我得到了客户上次购物时购买的产品。但是,我想把他买过的所有产品都放在一张桌子上。如果有人可以帮助我,我将不胜感激!

用户名

如果我对您的理解正确,那么您需要在存储过程中的3个表上联接,以提取客户购买的产品的所有详细信息。

因此,用于此目的的存储过程可能看起来像这样-

CREATE PROC [dbo].[GetCustomerProductsById]  
( 
@CustId int=0
AS
BEGIN
SELECT P.ProductId ,P.Product,P.Price,P.Description,C.CustomerID,C.Name,C.Address FROM Products P
Inner Join CustomerOrders CO ON P.ProductId= CO.ProductID
Inner Join CustomerInfo C ON C.CustomerID = CO.CustomerID
WHERE C.CustomerID = @CustId
ORDER BY C.Name
END

现在,一旦这给了我们预期的结果,则可以使用c#代码调用此存储过程,如下所示,并提取结果数据表。

SqlDataAdapter SqlAda;
DataSet ds; 
using (SqlConnection Sqlcon = new SqlConnection(strCon))    
{    
using (SqlCommand cmd = new SqlCommand())    
{

Sqlcon.Open();

cmd.Connection = Sqlcon;

cmd.CommandType = CommandType.StoredProcedure;

cmd.CommandText = "GetCustomerProductsById";

cmd.Parameters.Add(new SqlParameter("@CustId", SqlDbType.Int, 50));

cmd.Parameters["@CustId"].Value = <Your Input Source>;  
SqlAda = new SqlDataAdapter(cmd);

ds = new DataSet();

SqlAda.Fill(ds);

Datatable dt = new DataTable();
dt = ds.Tables[0];
}

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何用某些数据的所有可能实例填充数据表?

来自分类Dev

用laravel中的所有可能实例填充数据透视表

来自分类Dev

如何从Excel ListObject表填充数据表

来自分类Dev

Xml 填充数据表

来自分类Dev

使用JS对象中的数据填充数据表

来自分类Dev

使用MySQL数据库填充数据表

来自分类Dev

使用循环从数据库填充数据表

来自分类Dev

使用JS对象中的数据填充数据表

来自分类Dev

在JPA中从数据库填充数据表

来自分类Dev

如何用数据填充数据库

来自分类Dev

如何用数据填充数据库

来自分类Dev

用Firebase和Angular填充数据表

来自分类Dev

无法从JSF中的Arraylist填充数据表

来自分类Dev

JSF填充数据表的最佳策略

来自分类Dev

VB:填充数据表后调整窗体的大小

来自分类Dev

尝试使用 php ajax mysql 填充数据表

来自分类Dev

从sql填充数据表时如何使用foreach循环编辑一些行?

来自分类Dev

如何使用键和值作为列从json对象填充数据表

来自分类Dev

如何获取和使用会话对象在JSF中填充数据表?

来自分类Dev

如何通过ASP.NET C#中的循环填充数据表

来自分类Dev

从其他较小的数据表填充数据表

来自分类Dev

如何用类的对象填充数据网格视图

来自分类Dev

如何用数据表实现Daterangepicker?

来自分类Dev

用数据库中的数据填充数据表

来自分类Dev

如何创建可以随机填充数据集中的数据的表?

来自分类Dev

无法使用数据表。使用数据适配器填充数据表后的查找方法

来自分类Dev

数据表信息未填充到循环中的所有数据网格视图

来自分类Dev

如何更改或替换数据表中的所有列名

来自分类Dev

如何更改或替换数据表中的所有列名

Related 相关文章

热门标签

归档