需要将标题和拖车记录附加到行值
从tableA中选择名称
当前产出:
普萨德
洛凯什
钱德拉
拉维
拉金德拉
预期产出如下:
cas
普拉萨德
洛凯什
钱德拉
拉维
拉金德拉
cas
发布于 2022-12-04 11:22:57
可以使用Server中的UNION操作符将标头值和拖车值与表中的现有行组合起来。下面是一个如何做到这一点的例子:
SELECT 'cas' AS header
UNION ALL
SELECT * FROM your_table
UNION ALL
SELECT 'cas' AS trailer此查询将选择字符串cas作为header值,然后使用UNION ALL运算符将其与表中的行组合。最后,它将再次选择字符串cas作为拖车值,并再次使用UNION ALL将其与其他行组合。
这将导致一个新表,将头和trailer值附加到表中的现有行。最后一个表将如下所示:
header
------
cas
Prasad
Lokesh
Chandra
Ravi
Rajendra
cas然后,您可以根据需要在应用程序中使用此表。
在Talend中,您可以使用tUnion组件将标题和拖车值与表中的行组合起来。下面是一个如何做到这一点的例子:
创建一个新的Talend作业,并将一个tFileInputDelimited组件拖到设计工作区。配置组件以从表中读取输入数据。
将tMap组件拖到设计中
添加更多示例:
若要在组合标头值和拖车值时保留表中行的原始顺序,可以在SQL查询中使用UNION操作符和order子句。下面是一个如何做到这一点的例子:
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子句将应用于结果表,以保留行的原始顺序。
这将导致一个新的表,将标题和拖车值附加到表中的现有行,并将保留这些行的原始顺序。最后一个表将如下所示:
header
------
cas
Prasad
Lokesh
Chandra
Ravi
Rajendra
cas然后,您可以根据需要在应用程序中使用此表。
https://stackoverflow.com/questions/74674999
复制相似问题