0
你能帮助我3个表,以了解如何我可以用sqlQuery
功能从RODBC
包创建和之间left join
一个master table
x1
和其他两个表x2
R.在R和sqlquery函数使用RODBC包加入从数据库
后,我建立数据库连接我可以成功连接两个表:
library RODBC
dataframe <-sqlQuery(conn,"
SELECT
sum(A1.revenue1),
sum(A1.revenue2),
sum(A1.revenue3),
A2.SERVICE_TYPE_NAME
FROM
(FINANCE.x1 A1 LEFT JOIN CORE.x2 A2
ON (A1.YEAR_NUM = A2.YEAR_NUM
AND A1.SERVICE_TYPE_KEY = A2.SERVICE_TYPE_KEY)
)
WHERE A1.YEAR_NUM = '2015'
AND A2.SERVICE_TYPE_KEY='2'
GROUP BY A2.SERVICE_TYPE_NAME
")
,但我失败了,当我尝试将一个第三方程尝试这样的:
dataframe <-sqlQuery(conn,"
SELECT
sum(A1.revenue1),
sum(A1.revenue2),
sum(A1.revenue3),
A2.SERVICE_TYPE_NAME
FROM
(FINANCE.x1 A1 LEFT JOIN CORE.x2 A2
ON (A1.YEAR_NUM = A2.YEAR_NUM
AND A1.SERVICE_TYPE_KEY = A2.SERVICE_TYPE_KEY)
FINANCE.x1 A1 LEFT JOIN BRAND.x3
ON (A1.brand_ID=A3.brand_ID))
WHERE A1.YEAR_NUM = '2015'
AND A2.SERVICE_TYPE_KEY='2'
GROUP BY A2.SERVICE_TYPE_NAME
")
这是一个纯粹的SQL问题。如果连接之前曾经工作过一次,那么当SQL被排序时,R就没问题。 – NJBurgo
您可能还想使用您正在使用的SQL版本进行标记。无论如何,我给了你一个下面的查询应该工作。 –
谢谢,这有帮助。当我连接到DB2并且RODBC包在这种情况下具有特定的语法时,我很挣扎。我也是刚开始使用SQL的新手。 –