1
我在这个类型的 - [R SQL查询:RODBCext查询参数
query <- "SELECT a.* FROM
((SELECT x,y,z FROM t1,t2,t3 where c1 = ? and c2 = ?) as b
LEFT JOIN
(SELECT x1,y1,z1 FROM t4, t5, t6 where c3 = ? and c4 = ?) as c
ON b.x = c.x1) as a"
我使用RODBCext连接和查询数据库。 我不喜欢这样写道:
library(RODBCext)
conHandle <- odbcConnect("dsn", uid="uid", pwd = "pwd", believeNRows = FALSE)
parameters <- data.frame(v1,v2,v3,v4) #values for parameters
response <- sqlExecute(conHandle, query, parameters, fetch = TRUE)
我收到此错误:
Error in sqlExecute(conn, upit, parameters, fetch = TRUE) :
[RODBCext] Error: Number of parameters in query do not match number of columns in data
这个任何帮助?
很明显,这将是艰难的没有一个例子。你能逐步验证吗?即只运行带有2个参数data.frame的t1,t2,t3语句?我还建议你合理化你的sql语句,使它更容易调试,因为这个例子不会像需要子查询那样流口水。 –
Steph谢谢!我的代码显示在这里是好的。在我的代码中,我有参数< - data.frame(c(v1,v2,v3,v4)),这是问题。代码工作正常。 – Bojan