首页 > 解决方案 > 有没有一种方法可以在 Google Spanner 中从两个不同的数据库中查询两个表?

问题描述

我想从 Google Spanner 的两个不同数据库中查询两个不同的表。我想做这样的事情:

SELECT T1.C1
      ,T2.C3
      ,T2.C4
FROM Database1.Table1 T1 
INNER JOIN Database2.Table2 T2
ON T1.C1 = T2.C2

但是,当我将数据库名称与表名称 (Database.table) 一起使用时,我收到一个错误

找不到表:'Database.table'

有没有其他方法可以实现这一点,或者唯一的解决方法是在同一个数据库中创建所有表?

标签: sqldatabasegoogle-cloud-platformrdbmsgoogle-cloud-spanner

解决方案


不,正如您所发现的,无法将两个单独的数据库中的表连接起来——spanner 客户端是每个数据库的。

要么在一个数据库中拥有所有表,要么在应用程序级别执行连接,每个数据库实例使用一个 spanner 客户端实例。


推荐阅读