使用INSERT查询和SELECT

时间:2013-12-12 04:50:20

标签: sql

CREATE TABLE categories
 (
   ID serial PK,
   description varchar(20)
 );

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

我想在佣金表中为描述为Widgets的类别添加一行,以便佣金为百分之十。假设类别已经存在于类别表中。

我试过了:

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

但是不正确,有人可以帮我解决如何插入一个值以及从另一个表中获取另一个值的问题。

2 个答案:

答案 0 :(得分:0)

在这种情况下正确的语法是:

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

使用VALUES时,您不会使用SELECT

答案 1 :(得分:0)

INSERT INTO commissions (categoryID, percent)

            SELECT ID,10 FROM categories WHERE description = 'widgets'
执行插入 - 选择操作时,

关键字无法使用