在postgresql中将两个select语句添加到一个insert into语句中

2024-02-18

我通过以下方式制作了一个临时表:

create temporary table return_table 
(
   p1 BIGINT, 
   p2 VARCHAR(45), 
   p3 VARCHAR(45), 
   p4 VARCHAR(45), 
   p5 VARCHAR(45), 
   p6 float, 
   p7float
) on commit drop;

我试图采用 2 个 select 语句并将数据插入到该临时表中。例如,我有一个名为 t1 的表,它提供前四个值,然后我希望临时表的接下来 3 个值来自另一个表。

到目前为止我有:

insert into return_table 
(Select var1, var2, var3, var4 
 from t1 where var1 = 10)

这将成功地将 4 个值放入我的临时表中,然后将其余值保留为空。没关系,所以当我尝试从另一个表插入最后三个变量时。例如

insert into return_table 
(Select var1, var2, var3, var4 
 from t1 where var1 = 10, Select var5, var6, var 7 
 from t2 where var6 = 25)

它会抛出语法错误。我尝试了一些其他语法更改,但我无法找出将这些 select 语句的两个结果插入同一行的正确语法。

任何帮助都会很棒!


用逗号分隔的两个 select 命令不是有效的 SQL 语法。您可以使用join or with代替声明。这是一个例子with

insert into return_table 
WITH t1 AS (
    Select var1, var2, var3, var4 from t1 where var1 = 1
  ), t2 AS (
    Select var5, var6, var7 from t2 where var6 = 6
  )
select t1.var1, t1.var2, t1.var3, t1.var4, t2.var5, t2.var6, t2.var7 from t1,t2

只能创建一个子查询with但我将它们放在一起是为了演示能够根据需要添加任意数量的表的灵活性。

请注意,列出要插入的表的所有列是一个非常好的做法,

e.g. `insert into return_table (p1, p2, p3, p4, p5, p6, p7) ...`

如果你养成习惯,你会避免很多潜在的麻烦和头痛。

另请注意,如果两个子查询中的任何一个返回的行数不同于一个,则上面的示例(及其等效的连接)可能会产生奇怪的结果

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在postgresql中将两个select语句添加到一个insert into语句中 的相关文章

  • Laravel 5.3 Eloquent 事务和外键限制

    我正在从事一个更大的项目 我们在一个 Postgres 数据库中有多个模式 我们在模式之间创建了外键 这是一个例子 gt 我们有公司模式和用户模式 公司模式有company users表 该表对user users表有外键限制 CREATE
  • 查找 postgres 提供的列表中不存在的值

    我试图找到一个查询来告诉我数据库中没有的值 例如 select seqID segment from flu where seqID IN 1 2 3 4 5 6 7 8 9 现在 如果我的数据库没有 seqID 3 8 9 我将如何查找
  • postgresql-按每个元素中的单词对数组进行排序

    有字符串数组 ARRAY CAT CAT DOG CAT DOG Cat 现在我想根据每个元素中的单词数对该数组进行排序 我已经尝试过 但没有取得任何成功 我想要这个输出 ARRAY CAT DOG CAT DOG CAT Cat 我怎样才
  • 返回年份数组作为年份范围

    我正在尝试查询一个包含以下内容的表character varying 年份列 并将这些年份作为逗号分隔的年份范围字符串返回 年份范围将由数组中存在的连续年份确定 不连续的年份 年份范围应以逗号分隔 数据类型的原因是character var
  • MySQL #1093 - 您无法在 FROM 子句中指定用于更新的目标表“赠品”

    I tried UPDATE giveaways SET winner 1 WHERE ID SELECT MAX ID FROM giveaways 但它给出了 1093 您无法指定目标表 赠品 进行更新FROM clause 本文 ht
  • 存储过程总是返回0

    我试图从存储过程获取返回值 但它总是返回 0 c code cmd new SqlCommand cmd CommandType CommandType StoredProcedure cmd CommandText AbsentEntry
  • 用数字 1-1000 填充 Postgres 数据库?

    我是 pgAdmin3 的新手 我想用数字 1 1000 填充 pgAdmin3 中的数据库 我该怎么做呢 目前 我创建了一个名为 MyDatabase 的数据库 其中没有任何内容 每行应与其数值相对应 第 1 行应包含 1 第 2 行应包
  • 我可以以编程方式配置 PostgreSQL 以不消除全文搜索中的停用词吗?

    我正在使用 PostgreSQL 全文搜索来进行项目 其中传统停用词 a the if 等 应该被索引和可搜索 这不是默认行为 例如 我可能希望我的用户找到查询 to be or not to be 的结果 The 文档 http www
  • PostgreSQL:比较 json [重复]

    这个问题在这里已经有答案了 众所周知 目前 PostgreSQL 还没有方法来比较两个 json 值 比较就像json json不起作用 但是选角呢json to text before Then select x a y b json t
  • Postgres 平均值计算忽略 null

    这是我的 postgres 表 name revenue John 100 Will 100 Tom 100 Susan 100 Ben 5 rows 在这里 当我计算平均收入时 它返回 100 这显然不是这种情况 而总和 计数 即 400
  • postgresql中数组的区别

    我有两个数组 1 2 3 4 7 6 and 2 3 7 在 PostgreSQL 中可能有共同的元素 我想做的是从第一个数组中排除第二个数组中存在的所有元素 到目前为止我已经取得了以下成果 SELECT array SELECT unne
  • Ubuntu 12.04 上的 DeepDive 安装指南

    在拥有以后很多问题 https stackoverflow com questions 22469188 deepdive installation postgresql error安装深潜项目 http deepdive stanford
  • jQuery:如何仅根据表标题从表的列中选择值

    我有一个带有标题 ID 的表 我需要选择此标题下的所有字段 我无权访问源代码 并且该表中没有使用任何类 关于如何完成这件事有什么想法吗 要获取第一列 function var col td nth child 1
  • 在 docker 中将 pgadmin 连接到 postgres

    我有一个docker compose与服务文件python nginx postgres and pgadmin services postgres image postgres 9 6 env file env volumes postg
  • Postgresql 串行错误自动增量

    我在 postgresql 上遇到问题 我认为 postgresql 中有一个错误 我错误地实现了一些东西 有一个表包括colmn1 primary key colmn2 unique colmn3 插入一行后 如果我尝试使用现有的另一次插
  • 使用转义换行符和回车符取消转义字符串

    我正在尝试编写一个 PLPGSQL 函数来混淆 审查 编辑文本 Obfuscate a body of text by replacing lowercase letters and numbers with symbols CREATE
  • 在 jQuery 中获取 SELECT 的值和文本[重复]

    这个问题在这里已经有答案了 可能的重复 获取选择框中选定选项标签的值 https stackoverflow com questions 7380604 getting the value of the selected option ta
  • 如何计算 Postgres 上图表中所有连接的节点(行)?

    我的桌子有account id and device id One account id可以有多个device ids 反之亦然 我正在尝试计算每个连接的多对多关系的深度 Ex account id device id 1 10 1 11
  • 使用 Entity Framework Core 2 将原始 SQL 将存储过程结果映射到 POCO/DTO

    我几乎到处寻找 但很难找到解决方案 我花了一周时间使用存储过程创建一个极其复杂的计算查询 我想从该查询中获取结果并将其放入 POCO 类中 类似于我在使用 EF 6 之前所做的操作 将存储过程列名称映射到 POCO DTO https fo
  • postgresql:插入...(选择*...)

    我不确定它是否是标准 SQL INSERT INTO tblA SELECT id time FROM tblB WHERE time gt 1000 我正在寻找的是 如果 tblA 和 tblB 位于不同的数据库服务器中怎么办 Postg

随机推荐

  • 使用声纳 checkstyle 插件尊重 @SuppressWarnings

    是否有可能使用 Checkstyle 插件配置 SonarQube 5 1 以遵守 SuppressWarnings deprecation 注解 我不想关闭 避免使用已弃用的方法 规则 我只想 SonarQube 尊重 SuppressW
  • 跨多个进程使用双端队列对象

    我试图减少读取大约 100 000 个条目的数据库的处理时间 但我需要它们以特定的方式格式化 为了尝试做到这一点 我尝试使用 pythonmultiprocessing map函数工作完美 只是我似乎无法获得任何形式的队列引用来跨它们工作
  • 为什么此 WebGL 帧缓冲区使用会抛出 FRAMEBUFFER_UNSUPPORTED?

    我正在尝试创建一个 WebGL 选择缓冲区 有人能看到我在这里做错了什么吗 我在 Mozilla 5 0 X11 Linux x86 64 rv 2 0b3pre Gecko 20100724 Minefield 4 0b3pre 和 Ch
  • Mule Salesforce Batch 中的错误处理

    我正在尝试将一组帐户从 CSV 文件加载到 Salesforce 中 我已经配置了常用的 Datamapper 带有批提交的 Upsert SFDC 步骤和仅处理失败的批步骤 目前为日志 我的 OnComplete 有一个简单的记录器 我故
  • 如何处理 Mac 上 VS Code 中的 C++ 头文件 #include 错误?

    我的 Mac 上的 VS Code 产量 包含错误 for 头文件 and 第三方库 wxWidgets在这种情况下 我阅读了我能找到的所有内容 调整了 c cpp properties json 中的 includePath 设置 但没有
  • JMeter 框架

    我最近开始学习 JMeter 来对我们的应用程序进行性能测试 我有一个测试计划 jmx 并使用 Jenkins Ant 定期运行它 到目前为止一切都很好 我的问题是 我们有一个关键字驱动的框架 TestNG 等用于功能测试工具 QTP Se
  • 从 PDO 准备好的语句中检索(或模拟)完整查询

    我偶然发现这个问题 https stackoverflow com questions 210564 pdo prepared statements从两年前开始 在准备好的语句上调用 PDOStatement execute 时 有没有办法
  • ModuleNotFoundError:没有名为“telethon”的模块

    我已经使用以下代码安装了 telethon sudo pip3 install telethon 我尝试重新安装它并收到以下消息 Requirement already satisfied pyasn1 gt 0 1 3 in usr lo
  • vb6中删除字符串左右两侧的某些字符(TrimChar)

    我想删除字符串中一些错误使用的某些字符 我想只删除此文本之外的点 正如你所看到的 我不能为此使用替换 我必须找到一种方法来仅删除字符串左侧和右侧的字符 而这些点只是我要删除的字符的示例 我有一系列不需要的字符 所以在处理之后字符串应该看起来
  • OPENGL混合功能——以分层的方式缓慢替换颜色

    我想做的是在亮红色 1 0 0 1 上添加带有 alpha 0 1 0 0 0 2 的深红色 对于第一层 它工作正常 结果是 0 9 0 0 1 然而 当红色值达到 0 5 时 它不能低于该值 第一层用以下等式进行演示 并且工作正常 glB
  • Javascript正则表达式多重匹配[重复]

    这个问题在这里已经有答案了 我正在尝试使用 javascript 在具有查询字符串参数的 url window location href 上执行正则表达式 但无法弄清楚如何执行此操作 就我而言 有一个查询字符串参数可以重复自身 例如 qu
  • ZF2 fileprg 与集合中的文件

    我无法得到fileprg用于处理集合中的文件的插件 我正在尝试使用上传多个文件FormCollections 但在 form gt getData 没有与我的收藏或文件相关的密钥 我用简单的方法测试了表单和 fileprgfile inpu
  • 在 HTML 省略号下划线

    我在用text overflow ellipsis剪切锚点内跨度内的文本 当我悬停时 省略号字符没有下划线 这会导致一个小间隙 有没有办法来解决这个问题 是的 你可以这样做 设置text decoration none而不是使用border
  • Ruby代码美化,将长指令拆分为多行

    我们如何编写以下语句以提高可读性 Promotion joins category where lft gt and rgt lt c lft c rgt joins shops where promotions per shops gt
  • 如何检查Dotnet事务是否回滚?

    如何检查 dotnet 交易是否已关闭 你的标题问的是一件事 你的问题问的是另一件事 所以 我同意你的标题 如果想知道事务是否回滚或者设置为仅回滚 可以查看 transaction WasRolledBack true if transac
  • SSRS:仅为当前登录的用户提取报告

    我需要能够根据登录人员提取报告 例如 在一组销售人员中 如果鲍勃进入此报告并单击 销售人员 下拉列表 我需要他只能将鲍勃视为可用的销售人员 而不是其他任何人 我通过使用解决了这个问题 User UserIDSSRS 中的函数并且运行良好 我
  • 如何在 Acrobat Javascript 中编写文本文件

    我正在使用 acrobat XI 我尝试过输出这样的文本文件 var cMyC abc var doc this createDataObject cName test txt cValue cMyC this exportDataObje
  • 在 Ruby 中初始化类对象变量

    例如我创建了一个类 class Result min 0 max 0 def initialize min max max min min max max max end end result Result new 1 10 result
  • 配置 LDAP 时出现 Berkeley DB 不匹配错误

    我正在配置 OPENLDAP 2 4 35 在 Redhat Linux 上 我已经安装了 Berkley DB 4 8 30 作为先决条件 我还检查了 OPENLDAP 的 README 文件中的版本兼容性 其中显示 SLAPD BDB
  • 在postgresql中将两个select语句添加到一个insert into语句中

    我通过以下方式制作了一个临时表 create temporary table return table p1 BIGINT p2 VARCHAR 45 p3 VARCHAR 45 p4 VARCHAR 45 p5 VARCHAR 45 p6