首页 > 解决方案 > # 在列之间的缓存中

问题描述

我有一个 SQL 查询,我想在一列和另一列之间插入一个主题标签,以便能够在 Excel 中引用,在由 # 分隔的字段中使用导入选项。有人知道怎么做吗?查询如下:

SELECT FC.folha,  folha->folhames,folha->folhaano, folha->folhaseq, folha->folhadesc, folha->TipoCod as Tipo_Folha, 
 folha->FolhaFechFormatado as Folha_Fechada,  folha->DataPagamentoFormatada as Data_Pgto,  
Servidor->matricula, Servidor->nome,  FC.rubrica, 
FC.Rubrica->Codigo, FC.Rubrica->Descricao, FC.fator, FC.TipoRubricaFormatado as TipoRubrica, 
FC.ValorFormatado,FC.ParcelaAtual, FC.ParcelaTotal
FROM RHFolCalculo FC WHERE folha -> FolhaFech = 1
AND folha->folhaano = 2018
and folha->folhames = 06
 and folha->TipoCod->codigo in (1,2,3,4,6,9)

标签: intersystems-cache

解决方案


您正在从查询中生成分隔输出,因此第一行应该是标题行,所有后续行都是数据行。由于 concat,您实际上只有一列。所以从列中删除别名,像这样输出第一行(在此处使用别名)。. .

选择'folha#folhames#folhaano#folhaseq#folhadesc#Tipo_Folha#Folha_Fechada#Data_Pgto#matricula#nome#rubrica#Codigo#Descricao#fator#TipoRubrica#ValorFormatado#ParcelaAtual#ParcelaTotal'

联盟

选择 FC.folha || '#' || folha->folhames || '#' || folha->folhaano 。. .

UNION 将给出剩余的行。请注意,如果不是所有字符串,可能需要对列数据进行一些转换。


推荐阅读