Итак, я хотел добавить в свою таблицу новый столбец, сделанный из выборки с использованием двух других таблиц. Я пробовал такой запрос:
ALTER TABLE order ADD cost DECIMAL(5,2) AS (SELECT SUM(price*pieces) FROM book JOIN details ON id_book=book_id GROUP BY order_id);
И получаю ошибку:
ОШИБКА 1064 (42000): у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии MySQL сервера, чтобы найти правильный синтаксис для использования рядом с 'выберите сумму (цена * штук) из сведений о присоединении к книге на id_book = book_id group by order_id' в строке 1
Другие мои таблицы выглядят так:
CREATE TABLE details (
id_d INT(10) NOT NULL AUTO_INCREMENT,
book_id INT(10) DEFAULT NULL,
order_id INT(10) DEFAULT NULL,
pieces INT(10) DEFAULT NULL
...
CREATE TABLE book (
id_book INT(10) NOT NULL AUTO_INCREMENT,
price DECIMAL(5,2) DEFAULT NULL,
...
Этот SELECT SUM(price*pieces) FROM book JOIN details ON id_book=book_id GROUP BY order_id;
работает, но я действительно не знаю, как добавить это в качестве нового столбца :(