【发布时间】:2020-02-21 06:37:01
【问题描述】:
假设我有两张桌子,A 和 B。
Table A
X Y Z
1 2 3
4 5 6
7 8 9
Table B
W X Y
3 1 4
4 4 5
7 5 9
我已经确定表 A 的 X 值 1 和 4 很有趣,因为 Z 发生了什么(它们小于 8 或其他)。在表 B 中,我想选择 X 值为 1 和 4 的 W 列值。
我对两种方法持开放态度。
使用我碰巧从 RSQLite 函数调用的 SQL 命令执行所有操作
使用 R 形成数据框。
由于我对 R 相当了解,而对 SQL 一无所知,所以我一直在追求方法 #2。我可以轻松地选择 X=1 和 X=4 的 X 和 Z 列并制作一个数据框。
没有奏效的是,当我尝试在表 B 中查找 X=1 和 X=4 时,如果我将值输入dbGetQuery,一切正常。
但是,我有很多价值观,无法全部手动完成。 dbGetQuery 不允许我在将表 A 中的值称为 ...WHERE "X" = str(data.frame(A)[1:2,1]) 时传递它们。我得到的错误似乎认为我正在寻找名为“1”而不是“X”的列。
【问题讨论】:
标签: r database sqlite sqldf rsqlite