Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Nhận khung dữ liệu R với các giá trị được hợp nhất từ ​​nhiều bảng MySQL

Điều này sẽ tổng quát hơn, giả sử rằng số lượng bảng bạn đang xử lý là thay đổi. Nó cũng đổi tên các cột theo cách bạn muốn trong hàm ban đầu:

library(RMySQL)

##  Open database:
mydb = dbConnect(MySQL(), user='root', password='', dbname='DataBase')

##  Create function to get values:
GetVals <- function(TableNames) {
    query <- paste0("SELECT ", Tables[1], ".Chr AS chrom, ", Tables[1], ".start AS site, ")
    query <- paste0(query, paste0(Tables, ".methylation AS ", Tables, collapse=", "))
    query <- paste0(query, " FROM ", Tables[1], paste0(" JOIN ", Tables[-1], " ON ", Tables[1], ".Chr=", Tables[-1], ".Chr AND ", Tables[1], ".start=", Tables[-1], ".start", collapse=""))

  rs <- dbSendQuery(mydb, query)
  data <- fetch(rs, n=-1)
  return(data)
}

Tables <- c("Table1", "Table2", "Table3", "Table4")

my_data <- GetVals(Tables)

Đây là truy vấn được tạo cho Tables biến trên:

> query
[1] "SELECT Table1.Chr AS chrom, Table1.start AS site, Table1.methylation AS Table1, Table2.methylation AS Table2, Table3.methylation AS Table3, Table4.methylation AS Table4 FROM Table1 JOIN Table2 ON Table1.Chr=Table2.Chr AND Table1.start=Table2.start JOIN Table3 ON Table1.Chr=Table3.Chr AND Table1.start=Table3.start JOIN Table4 ON Table1.Chr=Table4.Chr AND Table1.start=Table4.start"


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để kết hợp tất cả truy vấn SQL-SQLite theo câu lệnh trường hợp?

  2. Làm cách nào để chọn từ mối quan hệ một-nhiều trong CodeIgniter?

  3. Làm cách nào để thay đổi múi giờ MySQL trong kết nối cơ sở dữ liệu bằng Java?

  4. Lỗi câu lệnh chuẩn bị Java MYSQL:Kiểm tra cú pháp để sử dụng gần '?' ở dòng 1

  5. chọn chức năng tổng hợp và tất cả các cột khác