如何通过select语句动态获取多列数据?

请问一下,如下图所示这种表结构,有没有办法可以通过索引的方式来获取某几列的数据呀?
例如获取第2列的数据,可以用 select factor.column(2) as code from factor实现,那我想获取第2列和第4列及以后的数可以怎么操作呢?

attachments-2022-09-2cpm9T7m6332ab49127af.png

请先 登录 后评论

1 个回答

wale

用元编程可以实现,如下所示,先用columnNames函数得到表的所有列名,然后对这些列名处理后,用sqlCol得到查询列的元代码,再用sql和eval动态执行查询:

colNames = factor.columnNames()
finalColNames = colNames[1] join colNames[3:]
sql(sqlCol(finalColNames), factor).eval()
请先 登录 后评论