我正在尝试使用分隔符连接2列作为“。” 代码:
PCollection<BeamRecord> first = apps.apply(BeamSql.query(
"SELECT *,('CatLib' || 'ProdKey') AS CatLibKey from PCOLLECTION"));
如何指定2列之间的分隔符?
答案 0 :(得分:1)
我会说
SELECT
COALESCE(CatLib, '') || '.' || COALESCE(ProdKey, '') AS CatLibKey,
(any other columns here...)
FROM
PCOLLECTION;
但是在SQL中没有“选择除X列之外的所有内容”或“选择其他所有内容”,因此您必须记下要选择的列的每个名称。
答案 1 :(得分:0)
谢谢@Impulse The Fox。 我已将查询修改为:
PCollection<BeamRecord> first = apps.apply(BeamSql.query(
"SELECT Outlet, CatLib, ProdKey, Week, SalesComponent, DuetoValue, PrimaryCausalKey, CausalValue, ModelIteration, Published, (CatLib || '.' || ProdKey) AS CatLibKey from PCOLLECTION"));
这完美无缺。