首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有方法在SQL/talend中添加行中的标头和预告栏值

是否有方法在SQL/talend中添加行中的标头和预告栏值
EN

Stack Overflow用户
提问于 2022-12-04 11:12:25
回答 1查看 22关注 0票数 -2

需要将标题和拖车记录附加到行值

从tableA中选择名称

当前产出:

普萨德

洛凯什

钱德拉

拉维

拉金德拉

预期产出如下:

cas

普拉萨德

洛凯什

钱德拉

拉维

拉金德拉

cas

EN

回答 1

Stack Overflow用户

发布于 2022-12-04 11:22:57

可以使用Server中的UNION操作符将标头值和拖车值与表中的现有行组合起来。下面是一个如何做到这一点的例子:

代码语言:javascript
复制
SELECT 'cas' AS header
UNION ALL
SELECT * FROM your_table
UNION ALL
SELECT 'cas' AS trailer

此查询将选择字符串cas作为header值,然后使用UNION ALL运算符将其与表中的行组合。最后,它将再次选择字符串cas作为拖车值,并再次使用UNION ALL将其与其他行组合。

这将导致一个新表,将头和trailer值附加到表中的现有行。最后一个表将如下所示:

代码语言:javascript
复制
header
------
cas
Prasad
Lokesh
Chandra
Ravi
Rajendra
cas

然后,您可以根据需要在应用程序中使用此表。

Talend中,您可以使用tUnion组件将标题和拖车值与表中的行组合起来。下面是一个如何做到这一点的例子:

创建一个新的Talend作业,并将一个tFileInputDelimited组件拖到设计工作区。配置组件以从表中读取输入数据。

tMap组件拖到设计中

添加更多示例:

若要在组合标头值和拖车值时保留表中行的原始顺序,可以在SQL查询中使用UNION操作符和order子句。下面是一个如何做到这一点的例子:

代码语言:javascript
复制
SELECT 'cas' AS header
UNION
SELECT * FROM your_table
UNION
SELECT 'cas' AS trailer
ORDER BY (SELECT NULL)

此查询将选择字符串cas作为标头值,然后使用UNION运算符将其与表中的行组合。与UNION不同,UNION运算符从结果中删除重复行。但是,它不保留合并表中行的原始顺序。

为了保持行的原始顺序,我们可以使用order子句和SELECT NULL子查询。这将确保由NULL值对结果表进行排序,该值将保留行的原始顺序。

最后,查询将再次选择字符串cas作为拖车值,并再次使用UNION将其与其他行组合。然后,ORDER子句将应用于结果表,以保留行的原始顺序。

这将导致一个新的表,将标题和拖车值附加到表中的现有行,并将保留这些行的原始顺序。最后一个表将如下所示:

代码语言:javascript
复制
header
------
cas
Prasad
Lokesh
Chandra
Ravi
Rajendra
cas

然后,您可以根据需要在应用程序中使用此表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74674999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档