QUERY 允许我取消对具有多个值的列的分组
QUERY which allows me to ungroup a column with multiple values
我需要您的支持来组合一个查询,该查询允许我将具有多个值的列取消分组在一行中,在本例中为列 CONDICIONES
:
我有 CONDICIONES
table 列 Hora TRX; Fecha TRX; Condiciones; Código Cliente
.
在我的 Teradata 查询中,我让它查找条件:
WHERE CONDICIONES LIKE ANY ('%0800%', '%0801%', '%0805%', '%0806%', '%0821%'|;
但未分组的信息并没有让我失望。
我需要的是查询return如下结果:
期望的输出:
Table:
最简单的方法可能是在 filtering/aggregationg:
之前将所有值拆分成行
WITH cte AS
( -- prepare the data
SELECT "Fecha TRX" AS pk, CONDICIONES AS delim_str
FROM vt
)
SELECT "Fecha TRX", CONDICIONES, Count(*)
FROM TABLE (StrTok_Split_To_Table(cte.pk, cte.delim_str, '?')
RETURNS ("Fecha TRX" VARCHAR(20) -- should be the same datatype as input "Fecha TRX"
,tokennum INTEGER
,CONDICIONES VARCHAR(10) )
) AS dt
WHERE CONDICIONES IN ('0800', '0801', '0805', '0806', '0821');
GROUP BY 1,2;
我需要您的支持来组合一个查询,该查询允许我将具有多个值的列取消分组在一行中,在本例中为列 CONDICIONES
:
我有 CONDICIONES
table 列 Hora TRX; Fecha TRX; Condiciones; Código Cliente
.
在我的 Teradata 查询中,我让它查找条件:
WHERE CONDICIONES LIKE ANY ('%0800%', '%0801%', '%0805%', '%0806%', '%0821%'|;
但未分组的信息并没有让我失望。
我需要的是查询return如下结果:
期望的输出:
Table:
最简单的方法可能是在 filtering/aggregationg:
之前将所有值拆分成行WITH cte AS
( -- prepare the data
SELECT "Fecha TRX" AS pk, CONDICIONES AS delim_str
FROM vt
)
SELECT "Fecha TRX", CONDICIONES, Count(*)
FROM TABLE (StrTok_Split_To_Table(cte.pk, cte.delim_str, '?')
RETURNS ("Fecha TRX" VARCHAR(20) -- should be the same datatype as input "Fecha TRX"
,tokennum INTEGER
,CONDICIONES VARCHAR(10) )
) AS dt
WHERE CONDICIONES IN ('0800', '0801', '0805', '0806', '0821');
GROUP BY 1,2;