当前位置: 首页 > 面试题库 >

MySQL如何将具有SELECT子查询的表插入返回多行的表?

萧树
2023-03-14
问题内容

MySQL如何将具有SELECT子查询的表插入返回多行的表?

  INSERT INTO Results
    (
     People,
     names,
    )
    VALUES
    (
     (
       SELECT d.id
       FROM Names f
       JOIN People d ON d.id  = f.id
     ),

     (
      "Henry"
     ),
    );

WANT 来填充新表与此子查询返回的所有结果。我如何做到这一点而又没有收到 错误1242(21000):子查询返回的行多于1


问题答案:
INSERT INTO Results (People, names )
   SELECT d.id, 'Henry'
   FROM Names f
   JOIN People d ON d.id  = f.id

将静态字符串Henry与您的SELECT查询结合。



 类似资料:
  • 问题内容: 我正在执行此查询: 我正在尝试使其返回如下内容: 但是,我得到了错误: #1242-子查询返回的行数超过1。 我尝试将语句放置在子查询中,但是收到无效的语法错误。 问题答案: 您可以使用简单的分组方式在没有子查询的情况下进行尝试: 使用GROUP BY时,未分组的任何列都必须具有聚合子句(fe SUM或COUNT。)因此,在这种情况下,您必须对县名称,precienct.id和prec

  • 问题内容: 与先前 的一对一映射问题 类似,我需要一个针对源和目标中多列的解决方案。 仍可与Postgres 9.4.4一起使用,对查询和架构进行了修改,如下所示: 假设我有这两个表和: 还有另一个表,用于存储将数据从迁移到的公式: 如何在动态查询中编译此公式并将其插入目标表? 问题答案: 动态查询多列语句的基本查询-忽略该列: 结果: 这假定了一个 _ 单一的 源和一个 _ 单一的 目标表。否则

  • 问题内容: 通常,我可以在MySQL表中插入一行并取回。但是,现在,我想将许多行批量插入表中并获取ID数组。有人知道我该怎么做吗? 有一些类似的问题,但并不完全相同。我不想将新ID插入任何临时表;我只想找回ID数组。 我可以从批量插入中检索lastInsertId吗? 带有last_insert_id()的MySQL多行插入选择语句 问题答案: 旧线程,但只是研究了一下,所以去了:如果您在最新版本

  • 本文向大家介绍MySQL查询返回TRUE为具有正值的行?,包括了MySQL查询返回TRUE为具有正值的行?的使用技巧和注意事项,需要的朋友参考一下 要为正值返回TRUE,为负返回FALSE,请使用MySQL IF()。让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 这是对具有正值的行返回true的查询- 这将产生以下输出-

  • 问题内容: 桌子: 我的查询: 我收到“ MySQL子查询返回多个行”错误。 我知道此查询可以使用以下查询的解决方法: 然后使用php循环遍历结果并执行以下查询以获取和回显它: 但是我认为可能会有更好的解决方案? 问题答案: 简单的解决方法是在子查询中添加一个子句: 一个更好的选择(就性能而言)是使用联接:

  • 问题内容: 如何计算MySQL查询返回的行数? 问题答案: 获取查询结果中的总行数… 您可以仅迭代结果并计数。您没有说使用什么语言或客户端库,但是API确实提供了mysql_num_rows函数,该函数可以告诉您结果中的行数。 例如,这在PHP中作为mysqli_num_rows函数公开。编辑问题以提及您正在使用PHP时,这是一个使用mysqli函数的简单示例: 获取符合某些条件的行数… 只需使用