我在服务器上存储了一个包含多个列表的日志,我存储了一些数据,例如与这些日期相关的日期和信息。第一个列表的第一个字段对应于其余的第一个字段,第一个列表的第二个字段对应于第二个字段,依此类推。
使用FLATTEN功能我设法显示了这些信息,但它显示了列表中整个数据的组合。有4个每个列出3个字段,生成12个不同的行。
有没有办法只通过列表中的顺序显示三个结果?
答案 0 :(得分:0)
我不喜欢这个解决方案,但这是解决问题的第一个想法:
SELECT dates, lead, userID FROM
(SELECT NTH(1, dates) WITHIN RECORD dates, NTH(1, lead) WITHIN RECORD lead, userID
FROM [egolike.com:egolike-production:egotest.egoViews]),
(SELECT NTH(2, dates) WITHIN RECORD dates, NTH(2, lead) WITHIN RECORD lead, userID
FROM [egolike.com:egolike-production:egotest.egoViews]),
(SELECT NTH(3, dates) WITHIN RECORD dates, NTH(3, lead) WITHIN RECORD lead, userID
FROM [egolike.com:egolike-production:egotest.egoViews])
WHERE dates IS NOT NULL
基本上我们将记录中列的第N个值映射到另一列的第N个值。缺点是需要按编号显式调用每个第N个位置。希望您可以使用不同的结构重新导入数据! (一个重复的列,包含对齐的记录)