Я использую Microsoft SQL Server, и я все еще участвую. У меня есть две таблицы, таблица продуктов и таблица сведений о заказе. Таблица продуктов содержит цену, а затем в таблице сведений о заказах содержится ссылка на продукт, количество продукта и общая стоимость. Вот эти две таблицы:Как создать вычисляемый столбец, который ссылается на другой столбец из другой таблицы?
--Create Product Table
CREATE TABLE Products.Product
(
product_id INT NOT NULL PRIMARY KEY IDENTITY,
product_name VARCHAR(40) NOT NULL,
product_desc VARCHAR(5000),
product_price SMALLMONEY NOT NULL CHECK (product_price >= 0)
);
--Create Order Details Table
CREATE TABLE Orders.Order_detail
(
order_detail_id INT NOT NULL PRIMARY KEY IDENTITY,
product_id INT NOT NULL,
product_quantity INT NOT NULL CHECK (product_quantity >= 0),
order_detail_total MONEY NOT NULL,
FOREIGN KEY (product_id) REFERENCES Products.Product
);
Как я могу сделать так, чтобы order_detail_total это вычисляемый столбец, который является product_price * product_quantity
?
Привет @ kingcobra1986, у меня нет sqlserver прямо здесь, но, похоже, невозможно создать вычисленный столбец из другой таблицы, в соответствии с msoft. Однако вы можете создать функцию, которая поможет вам это сделать ... http://stackoverflow.com/questions/6867047/sql-server-computed-column-select-from-another-table –
Вычисляемые столбцы ** не могут ** ссылки другие таблицы. –
просто используйте вид – amdixon