如何左连接 Excel table 到 SQL 服务器数据库中的 table

How to left join Excel table to a table in SQL Server database

我在 Excel 文件中有一个 table (tbl1),大约有 70k 行。我已将 table 链接到 Power Pivot。 SQL 服务器中还有另一个 table (tbl2),其中有数百万行,我需要将其加入 Excel 文件中的 table

tbl1.[Member Number] = tbl2.[memid]

我应该使用什么查询来执行此操作而不必从 SQL 服务器导入整个 tbl2(由于内存限制在 Power Pivot 上引发错误)?

首选环境是 Power Pivot,但我有 SQL Sever Management Studio。我在 tbl2 所在的服务器上没有 WRITE 权限。但是我在另一台服务器上有 WRITE 访问权限。

谢谢!

将 Excel 文件导入您具有 WRITE 访问权限的 SQL 服务器,在那里进行连接并从该服务器导入数据。您发现这种方法有什么问题吗?

几个选项spring要注意:

  • 获取更多 memory/64 位 Excel 并像您当前尝试的那样使用 PowerPivot。如果你在 32 位 excel 上工作,那么你实际上只能使用 1gb 的 RAM,而在 64 位上你可以使用你拥有的一切。 64 位 Powerpivot 可以处理数亿条记录。
  • 将 SQL 数据和您的 csv 读取到 R 中,进行连接并将输出写入您的 WRITE 数据库或另存为 CSV 以输入 PowerPivot。尽管 R 有一个陡峭的初始学习曲线,但使用 dplyr 库做这种事情很简单。
  • 将您的 SQL table 转储到 csv 并将您当前的 csv 读入 WRITE 数据库并在您的 PowerPivot SQL 查询中进行连接。

哪种效果最好可能取决于您拥有的技能以及您这样做的频率。我可能会走 'R' 路线,因为您可以将其设置为预定作业。