【问题标题】:How to left join Excel table to a table in SQL Server database如何将 Excel 表左连接到 SQL Server 数据库中的表
【发布时间】:2015-09-15 23:26:53
【问题描述】:

我在 Excel 文件中有一个表 (tbl1),大约有 70k 行。我已将该表链接到 Power Pivot。 SQL Server 中有另一个表 (tbl2),其中包含数百万行,我需要将其加入到我的 Excel 文件中的表中

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

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

首选环境是 Power Pivot,但我确实有 SQL Sever Management Studio。我在tbl2 所在的服务器中没有写入权限。但是,我确实在不同的服务器中具有 WRITE 访问权限。

谢谢!

【问题讨论】:

    标签: sql sql-server powerpivot


    【解决方案1】:

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

    【讨论】:

    • 表 1 和 2 肯定需要在同一台服务器上才能在导入到 PowerPivot 时进行连接。
    【解决方案2】:

    我想到了几个选项:

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

    哪种方法效果最好可能取决于您拥有的技能以及您执行此操作的频率。我可能会走“R”路线,因为您可以将其设置为计划工作。

    【讨论】:

    • 谢谢!你拯救了我的一天和我未来的职业生涯。我在大学时碰巧熟悉 R,并且一直希望有机会在我的工作中每天使用它,但从未真正考虑过在 R 上加入表格。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    • 2019-05-24
    • 2023-03-10
    • 2016-08-16
    • 1970-01-01
    相关资源
    最近更新 更多