- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试将以下查询从基于 SQL 服务器的代码转换为 TERADATA 代码。
INSERT INTO #Keyword(Keyword,OmnitureHitsID,Hit_Time_GMT)
SELECT Search, @PrvRowIdentity,Hit_Time_GMT
FROM
(SELECT
Evar02_Search
, Hit_Time_GMT
, Evar11_End_Keyword
, Evar14_End_SrchTrmPassed
, Post_Evar02
, Post_Evar11
, Post_Evar14
FROM #MaINTable WHERE ID = @i
AND Visid_High =@Visid_High ) p
UNPIVOT
(SEARCH FOR SearchKeyword IN
(Evar02_Search
, Evar11_End_Keyword
, Evar14_End_SrchTrmPassed
, Post_Evar02
, Post_Evar11
, Post_Evar14 )
) AS unpvt;
谁能告诉我如何在 UNPIVOT 之后转换零件。实际上我不确定 SEARCH FOR SearchKeyword IN
部分的作用。
感谢任何帮助:)
最佳答案
遗憾的是,Teradata 没有 UNPIVOT
函数,但您可以使用 UNION ALL
查询复制它:
INSERT INTO #Keyword(Keyword,OmnitureHitsID,Hit_Time_GMT)
SELECT Search, @PrvRowIdentity, Hit_Time_GMT
FROM
(
SELECT Hit_Time_GMT, Evar02_Search as Search, 'Evar02_Search' as col
FROM #MaINTable
WHERE ID = @i
AND Visid_High =@Visid_High
UNION ALL
SELECT Hit_Time_GMT, Evar11_End_Keyword as Search, 'Evar11_End_Keyword' as col
FROM #MaINTable
WHERE ID = @i
AND Visid_High =@Visid_High
UNION ALL
SELECT Hit_Time_GMT, Evar14_End_SrchTrmPassed as Search, 'Evar14_End_SrchTrmPassed' as col
FROM #MaINTable
WHERE ID = @i
AND Visid_High =@Visid_High
UNION ALL
SELECT Hit_Time_GMT, Post_Evar02 as Search, 'Post_Evar02' as col
FROM #MaINTable
WHERE ID = @i
AND Visid_High =@Visid_High
UNION ALL
SELECT Hit_Time_GMT, Post_Evar11 as Search, 'Post_Evar11' as col
FROM #MaINTable
WHERE ID = @i
AND Visid_High =@Visid_High
UNION ALL
SELECT Hit_Time_GMT, Post_Evar14 as Search, 'Post_Evar14' as col
FROM #MaINTable
WHERE ID = @i
AND Visid_High =@Visid_High
) x
当前 UNPIVOT
查询的 Search
部分正在获取列出的每个 SearchKeyword
列中的列的值。所以这可以通过使用 UNION ALL
来复制,它为每列获取以下内容:
Hit_Time_GMT
每个字段Search
每个列的值(Evar02_Search
、Post_Evar02
等)UNION ALL
中的最后一个字段只是指定值来自哪一列关于sql - Teradata 等同于从 SQL SERVER 进行 UNPIVOT 和 SEARCH FOR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11858831/
我的 Excel 工作表中有大量数据需要重新格式化。我正在尝试使用数据透视表来实现此目的,但我不确定是否可行。 这是当前数据集(SKU 目前是唯一的): 我需要它看起来更像这样(其中 SKU 不是唯一
如何编写一个查询,将始终具有 1 行和多列的表取消透视到具有 2 列的结果集:column_name 和 value。我知道表格的底层结构是真正的问题所在,但我无法改变这一点。此查询也必须不知道所述表
我发现 UNPIVOT 能够自动排除具有 NULL 值的字段。但是,CROSS APPLY-VALUES 方法无法做到这一点。有谁知道如何从 CROSS APPLY-VALUES 中自动排除 NULL
我有一个带有 UNPIVOT 的 SELECT 语句 SELECT dycd_acnam, dycd_dynam, dycd_value FROM GCATT.dbo.tblDaycode UNPIV
您好,我有以下 mysql 数据 INSERT INTO `monthly` (`id`, `year`, `stat_id`, `cat_id`, `January`, `February`, `M
我有一张看起来像这样的 table 目标是在 Limit 列(Limit1、Limit2、Limit3...等)中找到最小值。 为此,我使用了 UNPIVOT 函数。 但问题是有些值是空字符串。结果,
我正在尝试对 mdsb.sys.database 表中的某些列进行 UNPIVOT,但在处理某些列时遇到了一些问题。我试图在 UNPIVOTing 表之前在 CTE 中将所有列转换为 NVARCHAR
我在对数据类型不完全相同的列使用 unpivot 时遇到问题,并且我无法弄清楚如何动态转换列,因为 UNPIVOT 的语法似乎不支持它。 考虑这个例子: DECLARE @People TABLE (
我正在转换此旧表中的数据: 电话(ID int、PhoneNumber、IsCell 位、IsDeskPhone 位、IsPager 位、IsFax 位) 这些位字段不可为空,并且所有四个位字段都可能
我正在尝试根据目标列中的值将多个列反透视/合并为一个值。 给定以下示例数据: CREATE TABLE SourceData ( Id INT ,Column1Text VARCHAR(
我正在尝试根据目标列中的值将多个列反透视/合并为一个值。 给定以下示例数据: CREATE TABLE SourceData ( Id INT ,Column1Text VARCHAR(
我有一个如下所示的数据框:我想解开这个数据框,以便相同 I_S 值的不同 IV 值进入单独的列,IC 列也是如此。 df_1.columns Index(['I_Y', 'I_DY', 'I_H',
我目前有一个 DataFrame 布局为: Jan Feb Mar Apr ... 2001 1 12 12 19 2002 9 ... 2003 ..
我有一个包含值列的表。该值可以是一个值,也可以是用逗号分隔的多个值: id | assess_id | question_key | item_value ---+-----------+------
我正在寻找“反透视”表,但我不确定最好的方法是什么。此外,这些值用“;”分隔。我列出了我正在查看的示例: 列_A 列_B 列_C Column_D 000 A B C D 01;02;03;0
所以,我做了很多搜索和摆弄,但找不到解决方案。也许我的情况很独特——或者更有可能我只是不知道我到底在做什么。我比刚开始时更接近了,所以这令人振奋。不管怎样 - 我们来了智囊团 - 非常感谢任何帮助。
不用说,我在过去几天试图理解 pivot/unpivot 主题,但没有希望。我不明白什么是 pivot 什么是 unpivot。我有这张 table :此表称为 Natalie_Playground。
我有一行数据想要垂直化。我相信 UNPIVOT 是我的最佳选择,但我一直无法让它发挥作用。我的行有以下数据: id | Qualifier 1 | Qualifier 2 | Qualifier
在我的应用程序中,我使用了如下商店产品描述值: ID BILLNO CUS_NAME DATE TOT_BAL S1 S2 S3 S4 D1 D2
我有一个包含大约 20 列和最多 100 行的汇总表,但我想将其转换为平面列表以便导入数据库。 This solution在我的情况下不能正常工作,我对 JS 的了解远远低于适当调整它的能力。 Exa
我是一名优秀的程序员,十分优秀!