MySQL을 사용하고 있으며 currency
와 price
의 두 열이있는 articles
테이블을 가지고 있지만 기사에 negotiated price
도있을 수 있으므로 currency
과 price
값을 결정할 수 없습니다.데이터베이스 구조/정의되고 정의되지 않은 필드 값
가격을 정의하고 협상 할 수 있으려면 어떻게해야합니까?
MySQL을 사용하고 있으며 currency
와 price
의 두 열이있는 articles
테이블을 가지고 있지만 기사에 negotiated price
도있을 수 있으므로 currency
과 price
값을 결정할 수 없습니다.데이터베이스 구조/정의되고 정의되지 않은 필드 값
가격을 정의하고 협상 할 수 있으려면 어떻게해야합니까?
협상 된 가격이 사용자/비즈니스에 한정되는 경우, 이는 일대 다 관계 일 것입니다. 가격을 보유하고 다른 오브젝트에 기사를 연결하는 튜플 테이블이 필요합니다.
예컨대 : 당신은 단순히이 테이블에 LEFT JOIN
필요하고 재정의 값을 얻을 수 NVL(user_article_price.price, article.price)
를 사용
CREATE TABLE user_article_price (
articleid INT,
userid INT,
price DECIMAL(13,2)
)
(나는 가격이 사용자와 협상 가정합니다).
참고 : 2 개의 id 열을 사용하여 복합 기본 키를 만들어 중복 값을 중지하는 것이 좋습니다.
예, '일대 다'사용자가 많은 기사를 가질 수 있지만 문제는 그 기사가 정확하고 협상 된 가격을 가질 수있는 방법을 결정하는 것입니다 ... 협상 된 가격을 '통화 'price = -1' – user973254
재정의 가격을 선택하기 위해 어떤 논리를 사용했는지 모르겠습니다. 내 예제에서는 NVL을 사용하여 실제 가격보다 우선적으로 존재하는 경우 재정의를 선택합니다. 물론 가격을 모두 선택하고 값으로 원하는 것을 할 수 있습니다. –
고맙습니다. :) – user973254
열 추가 ...? – awm
최악의 방법 – user973254