问题标签 [pivot]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pivot - 如何动态旋转
我有两张桌子;潜在客户、区域和推荐人。
铅有列:
p>推荐人有:
p>领土有:
p>潜在客户始终与区域相关,并且潜在客户可以选择与推荐人相关。
定期插入潜在客户和推荐人记录(推荐人频率较低)。我想在 GridView 中输出一个报告,如下所示:
好的,所以问题是,我想按地区分组并计算每个地区的潜在客户......这很好:-
但现在我想按推荐人细分计数。
我知道我可以通过 PIVOT 部分地做到这一点,但是,我知道我必须在代码中明确声明引用者。有没有办法执行某种动态透视,根据引用者中的行数附加额外的列?
我必须在 SP 中使用动态 SQL 吗?
sql - 动态旋转+ sql server 2005中的问题
我有个问题。实际上在我们的应用程序中,之前允许客户每月支付 3 次分期付款,但现在可以是任意数字。所以我有较早的查询
输出是这个
但正如我所说,现在分期付款可能会有所不同(比如在 1 个月内可能是 4,而在下个月可能是 5、3 或 6),那么在这种情况下如何使动态列旋转?
提前致谢
plsql - 根据 Oracle 10g PL/SQL 中的内容将行转为列
我的数据库中有一个表,user_answers
它存储用户对一系列问题的回答,并带有行;user_id
, question_id
,answer_id
和text_entry
. 问题文本和答案文本(如果有)存储在查找表中。题型分为单选题、多选题和文字输入题三种。因此,单个用户可能在user_answers
表中具有如下条目:
可以说这张questions_text
桌子有:
并且answers_text
表格有:
我想将数据提取到 csv 中,每个 user_id 一行显示答案,如下所示:
我知道如何通过 SQLPlus 生成 CSV 文件(由于我无法控制的原因,我只能通过 SQLPlus 访问数据库......)但我不知道如何生成 PL/SQL 语句。
在 PL/SQL 中,我知道我可以通过做
(我不是 SQL 人,所以这是从互联网上复制的!)
此代码(至少就我的测试告诉我而言)适用于单答案问题,但不适用于多答案或文本输入类型的问题。
我在网上看到了一些关于case
在 PL/SQL 中使用语句的内容,如下所示:
...但我不知道如何将答案放入列中。我能找到的所有可能相关的 SO 问题都是特定于 sql-server 的。
有没有办法从单个 PL/SQL 语句生成我想要的输出?最好以不依赖于表中数据的方式编写,因为我们有许多可能需要在其上运行的数据库。
asp-classic - 检索 ADO 记录集字段名称(经典 ASP)
我想知道是否有人可以提供帮助:
长话短说,我正在使用 MSSQL2005 构建数据透视表。检查的数据受日期范围的限制(从最近的星期一到所选日期的 1 周内的所有数据)
当我运行存储过程并传递一个日期时,我得到了正确的表,例如:
时间 | 09 年 1 月 1 日 | 2009 年 1 月 2 日 | 2009 年 1 月 3 日 | ... |
---|---|---|---|---|
09:00 | 0 | 9 | 25 | ... |
09:30 | 8 | 27 | 65 | ... |
10:00 | 20 | 44 | 112 | ... |
我遇到的唯一问题是,列标题会根据传入 SP 的日期(所需的查看日期)和 SP 内部的逻辑(强制左侧列成为距日期最近的星期一)而有所不同指定的)。
这意味着当我向用户显示结果时,我(当前)需要复制经典 ASP 中的日期检查逻辑 [简单但可维护性失败]
我真正需要的是一种从记录集本身检索列名的方法。
有人可以指出我正确的方向吗?
我已经用谷歌搜索了,但我得到的所有结果似乎都与读取表模式有关——在这种情况下这无济于事,因为我的表是在内存中动态生成的。
非常感谢您提供的任何帮助
sql - SQL 问题:如何将多个结果转为单行?
我在数据库名称中有表“火车延误,有列
因此,对于每个延误原因,火车可能会有多个延误时间,例如:
我想创建一个具有以下设计的水晶报表:
但我不知道会得到这个结果的查询。
我试过这个:
但是输出看起来像这样:
我不希望那样。我想要这样的东西:
sql - SQL 数据透视表
我有一个包含以下数据的 SQL 视图:
我想要这样的结果:
我试图查找 Pivot 示例,但所有这些示例都用于 SUM 或其他聚合函数。不确定其中任何一个是否会起作用,因为我也没有这样做。
sql - Using PIVOT in SQL Server 2008
Let's say I have some data, either in a SQL Server 2008 table or a [table]-typed variable:
I want to retrieve the data as a result set that looks like this:
I suspect the PIVOT operator is what I need (according to this post, anyway), but I can't figure out how to get started, especially when the number of question_id rows in the table can vary. In the above example, it's 5, but in another query the table might be populated with 7 distinct questions.
sql - 疯狂的 SQL 问题:如何使用枢轴进行某种交叉应用?
客户在他们的数据中有快捷方式,他们在字段中有大量记录。当我解析它们时,我需要制造记录,每个数量一个,将“标识符”增加 7 天(因为数字代表一个日期。
例如:一个销售四个星期的单一产品,我需要四个记录,每周一种产品。
[Event Number]
[Classification]
[Weeks Running]
[Some Data]
2009 11 29 00
1
1
runs one week
2009 12 06 00
2
1
runs one week
2009 12 13 00
1
4
runs four weeks
2009 12 20 00
2
4
runs four weeks
不知何故,我需要使用视图(sql select)将这些数据转换为以下内容(全部在同一个表中,包含空格以查看部分:
[Event Number + Classification]
[Some Data]
2009 11 29 01
runs for one week 一周因此创造了一项记录。
2009 12 06 02
runs for one week
2009 12 13 01
runs for four weeks重复 4 次将日期递增 7
2009 12 20 01
runs for four weeks
2009 12 27 01
runs for four weeks
2009 01 03 01
runs for four weeks
2009 12 20 02
runs for four weeks重复 4 次将日期递增 7
2009 12 27 02
runs for four weeks
2009 01 03 02
runs for four weeks
2009 01 10 02
runs for four weeks
我的想法是有某种枢轴交叉应用sql代码?
sql-server - 当数据中不存在时,SQL Server 动态数据透视返回空值
我有 3 个表(tblPreference
, tblCustomer
, tblCustomerPreference
),如下所示:
我正在创建此数据的数据透视,因此使用以下存储过程将其全部放在一行中,以便它始终拉回所有首选项,如果找到客户特定值,它将返回,否则返回默认值:
我遇到的问题是,当我查询 CustomerID 1 或 2 时,一切都按预期返回,所有值都按预期填充。但是,如果我查询 CustomerID 3,它将返回一个NULL
为其他客户填充的任何 PreferenceID。如果我在没有PIVOT
表达式的情况下运行查询,它将返回所有按预期填充的首选项。只有当我 PIVOT 数据时,数据才会NULL
蔓延。我希望我错过了一些简单的事情,但我没有看到错误。
tsql - SQL 将行转换为列
我知道这已经被问过几次了,但我找不到任何适合我的例子的解决方案。
我目前有一个使用某些页面的用户权限表。该表如下所示:
我将如何从这些数据中生成一个表,其中我将所有页面名称列为列,并且表的每一行用于用户 ID,列值根据原始表是否有条目显示为 0 或 1该特定页面,例如:
非常感谢您的帮助!