2015-05-26 3 views
0

Я хочу создать две связанные таблицы. Таблица ITEM имеет первичный ключ ItemNumber и еще один важный столбец UnitPrice. Вторая таблица снова содержит UnitPrice. Я хочу заполнить столбец UnitPrice в таблице ORDER_LINE_ITEM от значения в столбце ITEMUnitPrice, но я не уверен, как это сделать. Мне нужно иметь UnitPrice во второй таблице, поэтому у меня может быть вычисленный столбец ExtendedPrice, если только нет способа иметь вычисленный столбец со значениями из другой таблицы.Вывести значение из другой таблицы

CREATE TABLE ITEM 
    (
    ItemNumber int IDENTITY(1,1) Not NULL PRIMARY KEY, 
    ItemName varchar(30) NOT NULL, 
    OrderDate datetime NOT NULL, 
    UnitPrice money NOT NULL, 
    Description text NOT NULL, 
    ); 

CREATE TABLE ORDER_LINE_ITEM 
    (
    OrderId int FOREIGN KEY REFERENCES ORDERS(OrderID), 
    LineNumber int NOT NULL, 
    ItemNumber int FOREIGN KEY REFERENCES ITEM(ItemNumber) NOT NULL, 
    Quantity int Not NULL, 
    UnitPrice money NOT NULL, 
    ExtendedPrice money AS (Quantity * UnitPrice), 
    CONSTRAINT pk_OrderLineItem PRIMARY KEY (OrderID,LineNumber) 
    ); 
+0

Вы предоставляете себе одолжение и не делаете этого. Просто создайте обе таблицы, как они есть, и создайте представление поверх них с вашими расчетами. – BICube

+0

дайте свой вклад и выгоду, чтобы больше понять – Ajay2707

ответ

0

Начнём с проблемой под рукой, от того, что вы спрашиваете, вам просто нужно дать ему внешнего ключа и ссылки ITEM(UnitPrice).

Insert into table ORDER_LINE_ITEM     

CONSTRAINT FK_ORDER_LINE_ITEM_ITEM FOREIGN KEY(UNITPRICE) REFERENCE ITEM(UNITPRICE) 

Второй вещь, которую вы должны работать на ваш общий стиль кодирования, потому что у вас есть два различных способ сдерживая внешних ключей и первичных ключей. Это поможет с будущей работой по кодированию и если вы работаете с другим кодером в проекте.

Смежные вопросы