我正在整理我从SQL转换过来的数据表代码。
表x
frontdoor.azurefd.net/webapp1
表y
x <- data.table(a = 1
,b = 2); x
# a b
# 1: 1 2
默认情况下,以下联接返回所有列
y <- data.table(a = 1
,c = 3); y
# a c
# 1: 1 3
其中列a代表表i的值,但以给定格式x[y, on=.(a)]
# a b c
# 1: 1 2 3
的x命名。
我的问题是是否只能从表i中选择所有列。在SQL中为x[i]
。这对我来说是无价的,因为实际上我的表i和x都包含很多列,并且我想直接嵌套在select i.* from...
的join子句中,而不在data.table
中列出所有表i的列或在单独的行中进行列选择。
谢谢。
答案 0 :(得分:1)
不确定该解决方案的应用程序或计算效率,但是这样做很简单:
x[y, on = .(a)][, .SD, .SDcols = names(y)]