【问题标题】:Reproduce a left join in google query language用谷歌查询语言重现左连接
【发布时间】:2016-10-27 17:48:53
【问题描述】:

我正在尝试从一个表中获取数据,并将另一个查询的结果添加到其中,这两个东西都有共同的 ID 和名称。

这里是查询:

=query(Calculation!A1:G," select G,count(A) group by G")

我想创建一个包含这个的新查询。像这样的“QueryResult.id”是查询中的 G,“Talents”是要加入它的工作表:

  SELECT A, B, C, D, E, F, G FROM Talents left join QueryResult ON Talents.id = QueryResult.id

问题是没有加入谷歌查询语言。

我虽然可能会加入一些谷歌脚本,但对于像这样的简单操作来说似乎很复杂。

这里的最终目标是列出所有才能以及该人与他们共同拥有的才能的数量。

【问题讨论】:

  • 正如额外信息一样,我在删除旧问题后重新创建了一个较早的问题,以使其更加精确和清晰。以防万一有人认为他们已经读过这篇文章。

标签: google-apps-script google-sheets google-query-language


【解决方案1】:

你不能只在人才表中 VLookup 查询结果吗?查询的 ID 行是唯一的,因此不会造成任何问题。

如果你想要一个真正的左连接,不管简短的回答是没有快速的方法来做到这一点。

我有一个 project 正在运行,它为我编写的 JS 对象交互库提供前端。
前端本身仍在大量开发中,但连接和聚合正在工作,尽管语义和输出可能会发生变化。

当您将所有内容粘贴到电子表格中的脚本中时,考虑到项目的当前状态,您会编写类似这样的内容。
我将技能 F1 到 F7 中的字段命名为

=
TABLE_RENAME(
TABLE_SELECT(
TABLE_JOIN(
  Talents!A:G,
  TABLE_AGG(Calculation!A1:G, "F7", "count", "n", "F1"),
  "left", "ID", "F7"),
{"l.Talent", "l.Tier", "l.ID", "r.n"}),
{"Talent", "Tier", "ID", "n"})

【讨论】:

  • 我的意思是这里的 VLookup
猜你喜欢
  • 1970-01-01
  • 2021-03-29
  • 2021-07-09
  • 2013-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多