Oracle PIVOT,两次?

2024-03-29

我一直在尝试在 Oracle 11g 中不再使用 DECODE 来透视行,其中有一个方便的 PIVOT 函数。但我可能发现了一个限制:

我试图为基表中的每个值返回 2 列。就像是:

SELECT somethingId, splitId1, splitName1, splitId2, splitName2
FROM (SELECT somethingId, splitId
      FROM SOMETHING JOIN SPLIT ON ... )
      PIVOT ( MAX(splitId) FOR displayOrder IN (1 AS splitId1, 2 AS splitId2),
              MAX(splitName) FOR displayOrder IN (1 AS splitName1, 2 as splitName2)
            )

我可以用 DECODE 来做到这一点,但我无法通过语法来让我用 PIVOT 来做到这一点。这可能吗?看起来这个函数处理起来并不太难。

编辑:StackOverflow 可能不是 SQL 问题的正确溢出吗?

编辑:有人在吗?


From oracle-developer.net http://www.oracle-developer.net/display.php?id=506看起来可以这样做:

SELECT somethingId, splitId1, splitName1, splitId2, splitName2
FROM (SELECT somethingId, splitId
      FROM SOMETHING JOIN SPLIT ON ... )
      PIVOT ( MAX(splitId)  ,
              MAX(splitName) 
              FOR displayOrder IN (1 AS splitName1, 2 as splitName2)
            )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Oracle PIVOT,两次? 的相关文章

  • 您能否推荐一个 JQuery 插件来组成一组可映射到 SQL 查询的条件? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我发现了http redquerybuilder appspot com http redquerybu
  • Postgres 在插入访问 NEW 后触发

    我有一个非常简单的触发器 CREATE OR REPLACE FUNCTION f log datei RETURNS TRIGGER AS BEGIN INSERT INTO logs aktion tabelle benutzer id
  • T-SQL 跳过获取存储过程

    我在这个网站上似乎运气不太好 但我仍然是个乐观主义者 我会继续努力 我有两个表 期刊和文章类别 使用此查询连接 SELECT Journals JournalId Journals Year Journals Title ArticleCa
  • 带有mysql的实体框架,linux和windows之间的表大小写问题

    我们目前正在开发一个使用 Code First Entity Framework 和 Mysql 的产品 开发数据库托管在 Windows 环境中 而生产 mysql 则托管在 Linux 环境中 我遇到的问题是 mysql 中的表命名如下
  • 无法使用 LISTAGG

    SELECT deptno LISTAGG ename WITHIN GROUP ORDER BY ename AS employees FROM emp GROUP BY deptno Error ORA 00923 FROM keywo
  • 实体框架 LINQ To Entities 生成奇怪的慢速 SQLWhere 子句

    我需要理解这一点 EF5 0 和 EF6 在 TSQL 代码生成方面存在很大差异 在我的代码中 这是我的 LINQ 语句 var qry2 context viw overview 1 Where i gt i article EAN17
  • 防止 sqlplus 截断列名,无需单独的列格式

    默认情况下 sqlplus 将列名截断为基础数据类型的长度 我们数据库中的许多列名称都以表名称为前缀 因此在截断时看起来相同 我需要在锁定的生产环境中向远程 DBA 指定 select 查询 并拖回假脱机结果以进行诊断 列太多 无法指定各个
  • mysql非空字段计数

    我想计算 mysql 中特定字段集有多少字段为空 我找到了一些示例 但它们都遍历整个表 基本上我有8个字段 listing photo 1 到listing photo 8 我想知道其中有多少个被填充 I tried result mysq
  • 为什么sql表名中通常使用下划线而不是驼峰式大小写[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在“Where”子句之前写“Order By”子句

    我想写一个ORDER BY我之前的子句WHERE条件 因为我需要将结果截断为 10 但我需要首先按字母顺序对它们进行排序 我知道你不能把ORDER BY before WHERE那我该怎么办呢 我需要做类似以下的事情 SELECT FROM
  • 在 pymssql 中重复死锁查询后更新失败

    我将 SQL Server 与 pymssql 一起使用 发现一个特别复杂的 SELECT 查询偶尔会被选为死锁受害者 因此 我将其包装在 while 循环中 以便在发生这种情况时重试事务 大致如下 while True try curso
  • 使用动态 SQL 检索表结构

    我正在迁移数据库 并尝试将表结构信息检索到单个行项目中以进行机器处理 由于技术原因 现有的迁移工具无法使用 必须采用这种方式处理 我已在多个表上成功运行以下查询 SELECT LISTAGG column name data type da
  • 用户表中发生“数据操作操作在此视图上不合法”

    当我尝试在属于我正在使用的用户的表上插入值时 会发生此错误 SQL Error ORA 01732 data manipulation operation not legal on this view Cause Action 在人们所说的
  • 我如何(或可以)在多个列上选择 DISTINCT?

    我需要从表中检索所有行 其中两列的组合都不同 因此 我希望同一天没有任何其他销售的所有销售都以相同的价格进行 基于日期和价格的唯一销售将更新为活动状态 所以我在想 UPDATE sales SET status ACTIVE WHERE i
  • C# 和 .NET 的“最佳”数据访问框架/方法是什么?

    编辑 我将其设为社区维基 因为它更适合协作格式 有多种方法可以从 NET 访问 SQL Server 和其他数据库 一切都有其优点和缺点 这永远不会是一个简单的问题 哪个是 最好的 答案永远是 这取决于 然而 我正在寻找在不同级别的系统背景
  • MySQL“插入...重复键”具有多个唯一键

    我一直在阅读如何使用MySQL在重复键上插入 看看它是否允许我避免选择一行 检查它是否存在 然后插入或更新 然而 当我阅读文档时 有一个地方让我感到困惑 文档是这样说的 如果指定 ON DUPLICATE KEY UPDATE 并且插入的行
  • ? LIKE(列 || '%')

    我可以有这样的条件吗 SELECT FROM table WHERE LIKE column 哪里的 是一个字符串参数值 例如 这些参数值 当列等于时应返回 true admin products admin products 1 admi
  • 如何从一个 cfc 文件中函数的查询中调用另一个 CFC 文件中的函数?

    我有一个具有多种功能的 cfc 文件 info cfc 如下所示
  • 如何启用 Genymotion 模拟器使用主机正在使用的 WIFI 互联网

    我在 Genymotion 模拟器上运行的应用程序需要互联网 互联网似乎无法在 Genymotion 模拟器上运行 我试图通过打开浏览器来确认这一点 这就是我得到的 我在我的笔记本电脑上运行 Windows 7 并使用 Wifi 互联网 我
  • 如何找到与日期范围最重叠的时间段

    假设您有一个包含标识符 开始时间和结束时间的表 这些开始和结束时间可以是任意时间长度 开始时间始终早于结束时间 假设没有空值 什么样的查询会告诉我最 流行 的时间 即每行中的两个范围与大多数其他行重叠的位置 它的实际应用是它是一个记录用户登

随机推荐

  • 如何用 str_replace() 替换所有出现的两个子字符串?

    目前我有这段代码 它将任何双空格替换为 br 它按预期工作 tr class td Garments td td str replace br br trim result garment type td tr 不过我想做另一个str re
  • Android - 将大量数据传递给在不同进程上运行的服务

    有没有可能的方法将大量数据传递到与主活动不同的进程上运行的Android服务中 要传递的数据是大约 5Mb 的字节数组 如前所述 我无法将数据保存到文件中进行传输 需要纯粹通过内存或任何其他不持久保存到文件 数据库等的方式进行传输 我尝试过
  • 如何使用 CSS 将两个箭头图像(赞成/反对)堆叠在一起?

    向上箭头 gif 和向下箭头 gif So it would look like so 如何创建 3 个 div 并使用 CSS 设计它们的样式 以便这些箭头位于顶部箭头位于底部箭头上方的位置 div class vote div clas
  • Python 脚本给出“:没有这样的文件或目录”

    我有几个 python 脚本 它们工作得很好 但如果我尝试从 bash 运行它 一个脚本 截至今天早上 开始给我这个错误 没有这样的文件或目录 我可以通过执行以下操作来运行 损坏 的脚本python script name py环顾四周后
  • .gitattributes 涂抹和清理过滤器作为存储库的一部分

    我的 git 存储库中有许多模板文件 它们以不同的速率变化 然后使用它们生成 HTML 页面 如果有人报告问题 我希望他们能够告诉我模板文件的哪个版本有问题 目前 我在更改日期时手动将日期输入到文件中 或者 好吧 我尝试这样做 大多数时候我
  • 如何在 Lua 中下载文件,但在运行时写入本地文件

    我正在尝试制作一个更新程序 以便当我的 Lua 应用程序过时时它将使用LuaSocket下载较新的 exe 文件 可以运行我的 Lua 代码 在这个更新程序中 我希望它显示到目前为止已下载的数量 但是 通过以下 HTTP 请求 它会阻止应用
  • 如何以编程方式检查 iOS 上的方向是否已锁定 - Swift

    有没有办法在旋转发生之前以编程方式检查 iPod 方向锁定是否已启用 例如 如果用户要单击按钮 我们是否可以检查方向锁定是否打开 以提醒他们在单击操作发生之前必须关闭方向锁定 目前还没有办法检测方向是否被锁定 您可以只添加应用程序中应支持的
  • 如何将新的键值对添加到现有对象中

    我有一个简单的功能 function pagination opt limit console log opt logs out this gt Object limit 2 layout getConversations if typeo
  • web.xml 中的 cvc-id.3 错误

    在 Eclipse 中为 SpringMVC Web 应用程序编辑 web xml 文件时 我收到此错误消息 cvc id 3 身份字段 约束 web app servlet 名称 唯一性 匹配元素 web app 但是这个 元素没有简单类
  • 确定 Windows 当前是否正在播放声音

    所以我对这个问题思考了一段时间 但我不知道解决这个问题的正确方法是什么 我想使用以下命令确定 Windows 是否在某个时间输出声音Powershell脚本 我可以确定音频驱动程序是否有错误 但我无法确定系统是否正在播放声音 我看了看 NE
  • ruby Date.today 和 DateTime.now 的日期错误

    我已经使用 RVM 安装了 ruby 1 8 6 p383 系统 ruby 是 1 9 1 p378 1 使用 ruby 1 8 时 我从 Date today 和 DateTime now 得到错误的日期 而 Time now 是正确的
  • 从 SVN 获取最后一个文件提交日期

    Subversion 菜鸟 所以请耐心等待 有没有办法从命令行获取文件的最后提交日期 svn info filename
  • Laravel 真的这么慢吗?

    我刚刚开始使用 Laravel 我几乎还没有编写任何代码 但我的页面加载需要将近一秒钟 当我的无框架应用程序和 NodeJS 应用程序花费约 2 毫秒时 这让我有点震惊 拉拉维尔在做什么 这不是正常行为 是吗 是否需要一些微调 Larave
  • 无法使用php在mysql中保存大文本

    query INSERT INTO ARTICLES TITLE BY IN POST VALUES title by in POST post 该代码能够保存小长度文本 但不能保存大文本 的数据类型为POST字段是长文本 另外 如果我通过
  • 使用 C# (telerik) 在 wpf 中自定义弹出窗口的设计

    我在按钮单击事件中显示一个弹出窗口 gt 我在该弹出窗口中保留了一个自定义用户控件 因此每当显示弹出窗口时 都会显示自定义用户控件 但现在我需要修改自定义控件 弹出窗口中当前的自定义控件如下所示 但我需要角落看起来像下面的图片 如何做到这一
  • Angular 4.3 HttpClient:拦截响应

    在有关新的文档中HttpClientModuleAngular 4 3的新版本中 拦截请求的机制解释得非常好 还提到了响应拦截器机制 但我找不到任何相关内容 有谁知道如何拦截响应以便在将正文消息发送到服务之前修改正文消息 Thanks 我最
  • 按关系属性排序 neo4j

    使用 Neo4j 1 9 3 我想创建一个音乐节目列表 在给定的节目中可能会表演三段 每件作品都有一个与之关联的作曲家 并且可能出现在许多不同的程序中 因此我无法在作品节点上放置序列号 我假设我可以创建该程序 其与每个部分的关系如下所示 p
  • Rails 4 加密 Cookie 重放攻击

    我最近升级到 Rails 4 并改用加密 cookie 作为会话存储 不幸的是 这似乎意味着重放攻击是可能的 即如果用户注销 任何 cookie 都不会失效 并且可以用于在没有用户 密码的情况下进行身份验证 据我所知 这是加密 cookie
  • Spring真的不支持接口注入吗?

    我知道 Spring 不支持接口注入 而且我已经读过很多次了 但今天 当我看到 Martin Fowler 写的一篇关于国际奥委会的文章时 link http martinfowler com articles injection html
  • Oracle PIVOT,两次?

    我一直在尝试在 Oracle 11g 中不再使用 DECODE 来透视行 其中有一个方便的 PIVOT 函数 但我可能发现了一个限制 我试图为基表中的每个值返回 2 列 就像是 SELECT somethingId splitId1 spl