【问题标题】:Combining INSERT SELECT with constants将 INSERT SELECT 与常量相结合
【发布时间】:2015-08-28 20:04:26
【问题描述】:

我正在尝试将记录插入到其中一列来自另一个表的表中。

其他两列对于每条记录都是相同的。

所有三列都是键。

我正在尝试这个嵌入的 INSERT SELECT,我看到它是不允许的?

INSERT INTO TABLE (COLUMN_A, COLUMN_B, COLUMN_C)
    VALUES (1,(SELECT COLUMN_NAME FROM TABLE) ,2)

【问题讨论】:

    标签: sql


    【解决方案1】:

    您的语法已关闭 - 这是正确的语法:

    Insert Into Table
            (Column_A, Column_B, Column_C)
    Select  1, Column_Name, 2
    From    OtherTable 
    

    【讨论】:

    • 谢谢!如何为该列名称添加不同的?
    • @user1327418 要添加一个 distinct,只需将 select 语句更改为:Select Distinct 1, Column_Name, 2 From ...
    • 或者最好将这些不同的值放入临时表并从那里开始工作?
    【解决方案2】:

    我会发表评论,但我还没有足够的“状态”。

    下面的插入在 PostgreSQL 中工作。你用的是什么数据库?

    insert into people_experiences (qty, created_at, updated_at, person_id, experience_id) values (1, now(), now(), (select id from people where first_name='Joseph'), (select id from experiences where experience='MS'));
    INSERT 0 1
    

    【讨论】:

      【解决方案3】:

      我们甚至可以使用它

      Insert Into Table
      (Select  "value-1" as column, "value-2" as column, ot.* from otherTable ot)
      

      对于两列,我想要常量值,其余部分应按原样使用。

      注意:插入选择将不允许虚拟列。

      【讨论】:

        猜你喜欢
        • 2016-05-27
        • 2013-06-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-02
        • 2011-08-30
        • 1970-01-01
        • 2012-05-31
        相关资源
        最近更新 更多