内部加入 LIKE sqldf
Inner join on LIKE sqldf
如何在 R 中使用 sqldf 将 LIKE
子句与内部联接一起使用?
代码:
Name <- c("Jack","Jill","Romeo")
Name <- as.data.frame(Name)
FullName <- c("School Jack H", "School Juliet G", "College Jill M", "College Romeo F")
Marks <- c("100","82","54","0")
FullBio <- cbind(FullName, Marks)
FullBio <-as.data.frame(FullBio)
然后当我 运行:
sqldf("select a.*, b.* from Name a join FullBio b on a.Name like '%'+b.[FullName]+'%'")
returns 0 行。
为什么?请问我的其他选择是什么。我很抱歉让你为 运行 我的代码创建了这么多变量。
字符串连接运算符在 SQLite 中是 ||
:
sqldf("select * from Name join FullBio on FullName like '%' || Name || '%'")
给予:
Name FullName Marks
1 Jack School Jack H 100
2 Jill College Jill M 54
3 Romeo College Romeo F 0
这些中的任何一个也可以工作:
sqldf("select * from Name join FullBio on instr(FullName, Name)")
sqldf("select * from Name join FullBio on like('%' || Name || '%', FullName)")
如何在 R 中使用 sqldf 将 LIKE
子句与内部联接一起使用?
代码:
Name <- c("Jack","Jill","Romeo")
Name <- as.data.frame(Name)
FullName <- c("School Jack H", "School Juliet G", "College Jill M", "College Romeo F")
Marks <- c("100","82","54","0")
FullBio <- cbind(FullName, Marks)
FullBio <-as.data.frame(FullBio)
然后当我 运行:
sqldf("select a.*, b.* from Name a join FullBio b on a.Name like '%'+b.[FullName]+'%'")
returns 0 行。
为什么?请问我的其他选择是什么。我很抱歉让你为 运行 我的代码创建了这么多变量。
字符串连接运算符在 SQLite 中是 ||
:
sqldf("select * from Name join FullBio on FullName like '%' || Name || '%'")
给予:
Name FullName Marks
1 Jack School Jack H 100
2 Jill College Jill M 54
3 Romeo College Romeo F 0
这些中的任何一个也可以工作:
sqldf("select * from Name join FullBio on instr(FullName, Name)")
sqldf("select * from Name join FullBio on like('%' || Name || '%', FullName)")