数据库结构/定义和未定义字段值

问题描述:

我使用MySQL和具有articles表,其具有2列:currencyprice,但是制品还可以具有negotiated price,所以无法确定currencyprice值。数据库结构/定义和未定义字段值

我应该怎么做才能定义和协商价格?

+0

添加一列...? – awm

+0

最糟糕的做法 – user973254

如果协商价格特定于用户/企业......,那么这可能是一对多关系,您需要一个元组表来保存价格并将文章链接到其他对象。

e.g: (我假设价格协商与用户)

CREATE TABLE user_article_price (   
    articleid INT,   
    userid INT,   
    price  DECIMAL(13,2) 
) 

然后,您只需要LEFT JOIN这个表并使用NVL(user_article_price.price, article.price) 得到覆盖值。

注意:使用2个id列来停止重复值可能是一个好主意。

+0

是的,它是'一对多'用户可以有很多文章,但问题是如何确定文章可以有确切的和协商的价格... 我被提供来定义协议价格与货币''和'价格'列:'currency = nil','price = -1' – user973254

+0

我不知道用什么逻辑来选择覆盖价格?在我的例子中,如果它优先于使用NVL的实际价格存在,我选择覆盖。当然,你可以选择价格和做你想要的值。 –

+0

我明白了,谢谢:) – user973254