从一个表中选择,插入另一个表 oracle sql 查询

Posted

技术标签:

【中文标题】从一个表中选择,插入另一个表 oracle sql 查询【英文标题】:select from one table, insert into another table oracle sql query 【发布时间】:2013-12-14 05:00:01 【问题描述】:

我正在尝试从一个表中选择数据 并将数据插入到另一个表中

    SELECT ticker FROM tickerdb;

我正在尝试使用 OracleSql 从tickerdb 表中获取股票代码“GOOG”, 并将 t.ticker 插入到 stockdb 表中。

从tickerdb表中选择-->插入quotedb表

    INSERT INTO quotedb
    (t.ticker, q.prevclose, q.opn, q.rnge,
    q.volume, q.marketcap, q.dividend, q.scrapedate)
    VALUES (?,?,?,?,?,?,?,?,SYSDATE)
    tickerdb t inner JOIN quotedb q
    ON t.ticker = q.ticker

【问题讨论】:

【参考方案1】:

从 oracle 文档中,下面的查询更好地解释了它

INSERT INTO tbl_temp2 (fld_id)
SELECT tbl_temp1.fld_order_id
FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;

你可以阅读这个link

您的查询如下

//just the concept    
    INSERT INTO quotedb
    (COLUMN_NAMES) //seperated by comma
    SELECT COLUMN_NAMES FROM tickerdb,quotedb WHERE quotedb.ticker = tickerdb.ticker

注意:确保 insert 和 select 中的列根据您的要求位于正确的位置

希望这会有所帮助!

【讨论】:

你能更新链接吗?如果可能的话,最好引用你的答案来避免这种情况。【参考方案2】:

你可以使用

insert into <table_name> select <fieldlist> from <tables>

【讨论】:

INSERT INTO table1 SELECT * FROM table2 在旧的 Oracle10g2 中为我工作,其中 table1 和 table2 具有相同的表架构【参考方案3】:

您将从here 获得有用的信息。

SELECT ticker
INTO quotedb
FROM tickerdb;

【讨论】:

【参考方案4】:

试试下面这个查询:

Insert into tab1 (tab1.column1,tab1.column2) 
select tab2.column1, 'hard coded  value' 
from tab2 
where tab2.column='value';

【讨论】:

很好的例子,它还展示了如何在目标表中创建硬编码值。

以上是关于从一个表中选择,插入另一个表 oracle sql 查询的主要内容,如果未能解决你的问题,请参考以下文章

将一个表的查询结果插入到另一个表中(oracle、mysql、sql 、GP)

如何在通过变量搜索时从一个表中选择 user_ID 并插入到另一个表中? Python 我的 SQL

sql语句从一张表查询一个字段值插入另一个表中

Oracle SQL:将选择从一个表插入另一个表,其中用户有多个带有订单号的条目

sql Oracle:仅当值存在时才从另一个表中插入值

Sql 从一个表列中选择一个最小值,并在一个 SQL 语句中将结果插入到另一个表列中