2013-12-12 3 views
0
CREATE TABLE categories 
(
    ID serial PK, 
    description varchar(20) 
); 

CREATE TABLE commissions 
(
    categoryID integer references categories(ID), 
    percent varchar(20) 
); 

Я хочу добавить строку в таблицу комиссионных для категории, описание которой - Виджеты, так что комиссия составляет десять процентов. Предположим, что категория уже существует в таблице категорий.с использованием запроса INSERT и SELECT

Я пробовал:

INSERT INTO commissions (categoryID, percent) 
VALUES (categoryID, 10) 
SELECT ID FROM categories WHERE description = 'widgets'; 

Но это не правильно, может кто-нибудь помочь мне о том, как вставить значение плюс получает другое значение из другой таблицы.

ответ

0

Правильный синтаксис в этом случае:

INSERT INTO commissions (categoryID, percent) 
SELECT ID, 10 FROM categories WHERE description = 'widgets'; 

Вы не используете VALUES при использовании SELECT.

0
INSERT INTO commissions (categoryID, percent) 

      SELECT ID,10 FROM categories WHERE description = 'widgets' 

Значения Ключевое слово не могу использовать при этом на Insert-В-Select операцию.

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