2011-09-30 62 views

回答

0

如果協商價格特定於用戶/企業......,那麼這可能是一對多關係,您需要一個元組表來保存價格並將文章鏈接到其他對象。

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