Структура базы данных / определенные и неопределенные значения полей - PullRequest
2 голосов
/ 30 сентября 2011

Я использую MySQL и у меня есть таблица articles, которая имеет 2 столбца: currency и price, но статья также может иметь negotiated price, поэтому я не могу определить currency и price значения.

Что я должен сделать, чтобы иметь возможность определить и обсудить цены?

1 Ответ

0 голосов
/ 30 сентября 2011

Если договорная цена специфична для пользователя / бизнеса ..., то, вероятно, это отношение один ко многим, вам понадобится таблица кортежей для хранения цены и связи товара с другим объектом.

например: (Я предполагаю, что цена согласовывается с пользователем)

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

Затем вам просто нужно LEFT JOIN к этой таблице и использовать NVL(user_article_price.price, article.price) чтобы получить переопределенное значение.

Примечание. Вероятно, рекомендуется создать составной первичный ключ, используя 2 столбца id, чтобы остановить повторяющиеся значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...