R

时间:2018-10-22 13:53:13

标签: r tsql

我想在R中操纵TSQL结果。我在SQL Server中有一个查询,我想基于一个ID列(在一个表中具有每个ID的结果)来分隔其结果。

以下是我到目前为止所做的。我在R中获得了id列:

conn <- odbcConnect("EDW")

unformatted_id <- readLines('id.txt')

formatted_id <- gsub("\t","", paste(unformatted_id, collapse=" "))

id = sqlQuery(conn, formatted_id)

id列如下:

       SupplierId
1            1167
2            1831 
3             924
4            1094
5            1141
6            1198
7            1590

我得到了这样的主要查询:

f <- function(i){
     conn <- odbcConnect("EDW")

     q = sqlQuery(conn, gsub("\t","", paste(readLines('stat.txt'), collapse=" ")))

     idd = q$id_supplier; for (i in idd) {print(q)}
}

结果如下:

        id_supplier          supplier_name
1              869                       A
2              963                       B
4             1531                       C

但是我需要单独的结果:一个用于id_supplier=869,然后一个用于id_supplier=963,依此类推。

这是我的查询

  

选择不同

     

supplier.id_supplier

     

,supplier.name作为供应商名称

     

,供应商。NMVAS供应商_NMV

     

,mean.category_bi

     

,平均月

     

,平均值。NMVAS mean_catNMv

     

,stat.Q1 AS Q1_catNMV

     

,stat.med AS med_catNMV

     

,stat.Q3 AS Q3_catNMV

     

FROM供应商

     

INNER JOIN Tier ON Tier.SupplierId = supplier.id_supplier

     

INNER JOIN的意思

     

ON Supplier.category_bi =平均值.category_bi

     

INNER JOIN统计信息

     

ON stat.category_bi =平均值.category_bi

当然,我的f函数不能正常工作。我该如何修改?

非常感谢。

0 个答案:

没有答案