我使用MySQL和具有articles
表,其具有2列:currency
和price
,但是製品還可以具有negotiated price
,所以無法確定currency
和price
值。數據庫結構/定義和未定義字段值
我應該怎麼做才能定義和協商價格?
我使用MySQL和具有articles
表,其具有2列:currency
和price
,但是製品還可以具有negotiated price
,所以無法確定currency
和price
值。數據庫結構/定義和未定義字段值
我應該怎麼做才能定義和協商價格?
如果協商價格特定於用戶/企業......,那麼這可能是一對多關係,您需要一個元組表來保存價格並將文章鏈接到其他對象。
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列來停止重複值可能是一個好主意。
是的,它是'一對多'用戶可以有很多文章,但問題是如何確定文章可以有確切的和協商的價格... 我被提供來定義協議價格與貨幣''和'價格'列:'currency = nil','price = -1' – user973254
我不知道用什麼邏輯來選擇覆蓋價格?在我的例子中,如果它優先於使用NVL的實際價格存在,我選擇覆蓋。當然,你可以選擇價格和做你想要的值。 –
我明白了,謝謝:) – user973254
添加一列...? – awm
最糟糕的做法 – user973254