检查两个表的值?

时间:2012-09-28 20:52:21

标签: database visual-studio-2010 visual-studio datagridview

我正在为大学作业构建一个应用程序,我正在使用Visual Basic 2010和Micrsoft Access作为数据库。

我有一个表单,客户可以订购产品,每个产品都有一个固定价格,例如product1是1英镑,但有些客户会得到更便宜的产品所以我有一个表'特价'特价表将包含行包括'customerid''productid'和'specialprice'。

我需要知道如何显示价格,如果客户选择产品1我需要我的应用程序首先检查他们是否有特价,如果不是只显示正常价格,

谢谢,

杰克。

1 个答案:

答案 0 :(得分:0)

如果客户没有特价,则为空

SELECT p.Price, c.CustomerID, sp.SpecialPrice, IFNULL(sp.SpecialPrice, p.Price) As UsedPrice
FROM Product p
LEFT JOIN SpecialPrice sp ON p.ProductID = sp.ProductID
AND sp.CustomerID = 123

我的答案基于SQL Server我希望您可以将其转换为MSAccess。重点是将产品表加入当前客户的特价表。如果有特价可以使用,否则使用产品中的价格

代码中的OR

if(row["SpecialPrice"] != null) // if(row["SpecialPrice"] != DBNull.Value) --- instead
  price = row["SpecialPrice"];
else
  price = row["Price"];