产品发售数量

时间:2013-06-14 18:02:47

标签: c# mysql sql entity-framework

目标

计算待售产品,无论其类别如何。

一点描述

我的数据库中有一个名为Categories的表。遵循以下结构:

'Category_Id', 'tinyint(3)'
'Category_Name', 'varchar(45)'
'Category_Products_Quantity', 'int(11)'

我的应用程序的所有产品都有一个类别,我将其设置在Products表 - 引用类别的ID。

如您所见,在我的表格中有一个名为Category_Products_Quantity的列。此列存储某些类别中的产品数量。为了增加或减少产品数量,我有两个触发器:一个触发;一个减少。

到目前为止,这么好,是吗?

问题

当我需要计算待售产品的数量时,会出现问题。我有一个名为Market_Products的第三个表,它将产品存储在各自的市场中。遵循以下结构:

'Product_Id', 'int(11)'
'Market_Id', 'int(11)'
'Product_Price', 'decimal(10,2)'
'Product_State', 'int(11)'

你能看到Product_State吗?因此,本专栏负责标记产品是否在售。 “销售”不是一个类别,不像“Bazaar”这个类别。

我的问题是:在这种情况下,我如何计算Product_State非零的产品?

技术细节

我正在使用C#.Net 4.0 + MVC 4 + Razor Engine 2 + Entity Framework 5 + MySQL。

不久

我有一个在线商店应用程序。实体框架为我生成了CRUD。我的应用程序有产品和类别。我可以计算每个类别中有多少产品。每种产品的价格由不同的市场决定。这些市场可以将商品标记为要约。 我需要将优惠作为一个类别来计算提供的产品数量。

2 个答案:

答案 0 :(得分:1)

试试这个

    SELECT COUNT(Product_ID) 
    FROM Markets_Products
    WHERE Product_ID IS NOT NULL

我希望它有所帮助

答案 1 :(得分:1)

这应该可以为您提供所需的信息。

SELECT COUNT(Product_ID) 
FROM Markets_Products
WHERE Product_ID <> 0

如果您的NULL列中可以Product_ID,则您需要将WHERE条款更改为此

WHERE isNull(Product_ID,'') <> 0