搜索

首页  >  问答  >  正文

标题重写为:将"(SELECT & VALUES)一起插入"的英文翻译

<p>我正在尝试向表中插入数据,我知道两种方法:</p> <p>一种是将行作为值添加:</p> <pre class="brush:php;toolbar:false;">INSERT INTO db_example.tab_example (id,name,surname,group) VALUES ('','Tom','Hanks','1');</pre> <p>另一种是从另一个表中插入:</p> <pre class="brush:php;toolbar:false;">INSERT INTO db_example.tab_example (id,name,surname) SELECT ID,first_name,last_name FROM db_contacts.tab_mygroup;</pre> <p>但是如果我想同时从另一个表中插入一些值(第二种方法),以及手动插入一些默认值(第一种方法),该怎么办呢。</p> <p>这是我尝试过的(但没有成功):</p> <pre class="brush:php;toolbar:false;">INSERT INTO db_example.tab_example (id,name,surname,group) VALUES ( SELECT ID FROM db_contacts.tab_mygroup, SELECT first_name FROM db_contacts.tab_mygroup, SELECT last_name FROM db_contacts.tab_mygroup, '1' );</pre> <p>我考虑过创建一个视图表,这可能可以解决问题,但我想可能有一种方法可以同时添加两者。</p> <p>谢谢大家!希望我描述清楚了我需要什么 :)</p>
P粉536532781P粉536532781527 天前583

全部回复(2)我来回复

  • P粉980815259

    P粉9808152592023-08-25 14:47:08

    试试这个

    INSERT INTO db_example.tab_example (id,name,surname)
    SELECT id,first_name,'M. Nega'
    FROM db_contacts.tab_mygroup

    你可以在FROM子句中使用join。它应该可以工作!

    回复
    0
  • P粉373596828

    P粉3735968282023-08-25 11:19:31

    只需从SELECT语句中返回字面值;在SELECT列表中添加一个表达式。例如:

    INSERT INTO db_example.tab_example (id,name,surname,group)
    SELECT ID
         , first_name
         , last_name
         , '1' AS group
      FROM db_contacts.tab_mygroup;

    后续

    问:我可以使用AS函数在同一列中选择first_name和last_name吗?还是需要另一个函数?

    答:如果您想将first_namelast_name的值合并到单个列中,您可以使用表达式将它们连接起来,并在SELECT列表中使用该表达式,例如

    CONCAT(last_name,', ',first_name')

    或者

    CONCAT(first_name,' ',last_name)

    AS关键字在INSERT ... SELECT的上下文中不会产生任何效果,但为该表达式分配一个与被插入的列的名称相匹配的别名可以帮助未来的读者。

    INSERT INTO db_example.tab_example (id,name,surname,group,full_name)
    SELECT ID
         , first_name
         , last_name
         , '1' AS group
         , CONCAT(first_name,' ',last_name) AS full_name
      FROM db_contacts.tab_mygroup

    回复
    0
  • 取消回复