首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在单个工作表中使用Google Script和JDBC连接器进行多个SQL查询

在单个工作表中使用Google Script和JDBC连接器进行多个SQL查询
EN

Stack Overflow用户
提问于 2017-12-09 23:02:36
回答 1查看 929关注 0票数 0

我正在使用一个带有JDBC连接器的应用程序脚本来创建与我的MySQL统计数据库的连接。我希望能够在一个单一的脚本运行多个查询,以拉出特定的信息从我的数据库到一个单一的工作表中所有我的查询的结果有相同的结构(所有按日期分组)年,月,日,值,我想知道是否有可能有年,月,日期列固定和所有其他结果填充我的结果中的以下列。

如列A:年份,列B:月,列C:日,列D:查询1的结果,列E:查询2的结果....

这是我开始时的想法

代码语言:javascript
复制
function loadData() {
var sheet = SpreadsheetApp.getActiveSheet();
var instanceUrl = 'jdbc:mysql://' + address;
var dbUrl = instanceUrl + '/' + db;
var conn = Jdbc.getConnection(dbUrl, user, userPwd);

var stmt = conn.createStatement();
stmt.setMaxRows(10);
var results = stmt.executeQuery('Select YEAR(dateCreated) as yearAdded,MONTH(dateCreated) as monthAdded, DAY(dateCreated) as dayAdded,sum(amount)/100 from stripeTransactions GROUP BY yearAdded ,monthAdded,dayAdded;');
var numCols = results.getMetaData().getColumnCount(); 
while (results.next()) {
  var rowArray = new Array();
   for (var col = 0; col < numCols; col++) {
    rowArray.push(results.getString(col+1));
  }
  sheet.appendRow(rowArray);
}

results.close();
stmt.close();
var stmt2 = conn.createStatement();
stmt2.setMaxRows(10);
var results2= stmt2.executeQuery('Select YEAR(dateAdded) as yearAdded,MONTH(dateAdded) as monthAdded, DAY(dateAdded) as dayAdded,sum(amount) from itunestransactions GROUP BY yearAdded ,monthAdded,dayAdded;');
var numCols2 = results2.getMetaData().getColumnCount();
 while (results2.next()) {
  var rowArray2 = new Array();
   for (var cal = numCols; cal < numCols2; cal++) {
    rowArray2.push(results2.getString(cal+1));
  }
 sheet.appendRow(rowArray2);
}

results2.close();
stmt2.close();
}

谢谢(这个脚本只为每个结果添加行,我猜可以为每个查询结果添加一个工作表,然后将每个工作表合并到一个工作表中,但我更愿意从一开始就在一个工作表中执行)

EN

回答 1

Stack Overflow用户

发布于 2017-12-10 01:31:42

您需要了解更高级的MySQL才能做到这一点,但是您可以将子查询嵌套到主查询中。

此外,如果希望查询更高效,可以将查询封装到一个MySQL存储过程中,然后通过JDBC从Apps Script调用该过程。

以下是一些教程的链接,可帮助您快速入门:

MySQL Subquery

MySQL Stored Procedures

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47729885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档