2015-09-13 46 views
0

当我读到here如果我想从另一个PostgreSQL数据库插入表我要使用这样的:插入到表从另一个使用自定义数据

该查询将从另一个表中插入一些行

INSERT INTO books (id, title, author_id, subject_id) 
     SELECT nextval('book_ids'), title, author_id, subject_id 
       FROM book_queue WHERE approved; 

但是我怎样才能插入更多的列与我的自定义数据(默认或非默认)行?

例如,books (id, title, author_id, <a cell with my data1>,subject_id,<a cell with my data2>)

我怎样才能插入到表之前更新选定的数据?

也就是说,类似:

INSERT INTO books (id, title, author_id, subject_id) 
     SELECT nextval('book_ids'), title, author_id+1, subject_id/2 
       FROM book_queue WHERE approved; 
+0

'我的dataX>'单元格到底是什么?这是来自其他桌子的一排吗?其他一些明确的数据?你说出你的问题的方式你不会得到正确的答案;请提供更多细节。 – Patrick

+0

这是一些整数值或字符串值 – Vyacheslav

回答

1

插入插入行,并选择生成/ 形式行,所以如果你可以建立你想要的任何select语句来插入数据,那么你可以将其插入,即使有新的字段或更新的字段。例如:

INSERT INTO books (title, author_id, subject_id, combined) 
    SELECT title, author_id+1, subject_id/2, author_id || ' ' || title 
    FROM book_queue WHERE approved; 

这里是一个fiddle玩。

+0

谢谢。这就是我想要的。这很难找到好的例子。祝贺1k分:) – Vyacheslav

相关问题