虽然R上使用的正常Select语句正在获取数据,但我无法使用SQL在以下查询中获取数据: SQL部分正在使用SQL Server 2008.此外,我正在使用RStudio 有什么建议吗?
qf<-sqlQuery(mycon,"USE MDM_STAT
+ DECLARE @RUNMONTH INT;
+ DECLARE @RUNYEAR INT;
+ DECLARE @PERIOD INT;
+ DECLARE @FISCALRUNYEAR INT;
+ DECLARE @FISCALRUNYEAR_BEGIN INT;
+ SET @RUNMONTH=MONTH(GETDATE());
+ SET @RUNYEAR=YEAR(GETDATE());
+ SET @PERIOD=
+ CASE
+ WHEN @RUNMONTH>3 THEN (@RUNMONTH-3)
+ ELSE 9+@RUNMONTH
+ END
+ ;
+ SET @FISCALRUNYEAR=
+ CASE
+ WHEN @RUNMONTH>3 THEN @RUNYEAR
+ ELSE @RUNYEAR-1
+ END
+ ;
+ SET @FISCALRUNYEAR_BEGIN=
+ CASE
+ WHEN @PERIOD=12 THEN @FISCALRUNYEAR
+ ELSE @FISCALRUNYEAR-1
+ END
+ ;
+
+ select * from dbo.TEMP_CUST_OPERATING_PROFIT OP
+ where OP.Sales_Year=@FISCALRUNYEAR
+ AND OP.PERIOD<=@PERIOD
+ UNION
+ select * from dbo.TEMP_CUST_OPERATING_PROFIT OP
+ where OP.Sales_Year=@FISCALRUNYEAR_BEGIN
+ AND OP.PERIOD>@PERIOD")
答案 0 :(得分:0)
我建议您按照以下步骤操作:
1)您应该确保正确设置了连接字符串,以便与数据库建立正确的连接。 这里有一个很好的解释:short youtube tutorial
2)在R写中:
library(RODBC)
channel = odbcConnect("The_database_name_your_are_connecting_to")
...
sqlQuery(channel ,"your query here")
close(channel)
我建议你从最简单的查询开始,确定它有效后, 使用更复杂的查询
希望它对你有用,祝你好运!