使用SQL Server表在Excel文件中查询数据

时间:2017-05-03 10:58:58

标签: sql sql-server-2012

我正在尝试对已退款的订单号进行报告,我在Excel中列出了这些订单,但我想了解更多有关订单的信息,如金额,退款原因等等。所有这些信息都存储在SQL Server表中。

一个一个地做很多繁重的工作,有没有办法让我一次检查它们?目前我正在使用where子句,但需要花费很长时间才能逐一检查。

请帮忙。

1 个答案:

答案 0 :(得分:1)

看到你没有提供任何数据模型等我在这里做了一些假设。一种方法是创建一个临时表,填充它,然后将其连接到要查询的表。

第一步是创建临时表,如下所示:

CREATE TABLE #temp (order_number INT);

(假设您为每个订单号设置了唯一ID。)

然后您需要填充此表,以及如何执行此操作在很大程度上取决于Excel工作簿中的订单号。您可以编写一个SSIS包(但这意味着首先实现临时表),使用导出向导等。

一种简单的方法是将Excel公式写入列表中每行的新列,然后将其复制到底部,将其复制并粘贴到SSMS中并执行您生成的脚本。你最终可能会得到这样的公式:

CONCATENATE("INSERT INTO #temp SELECT ", A1, ";")

将数据存储在临时表中,甚至是物理表中后,您可以查询并加入它们,例如:

SELECT o.* FROM MyOrders o INNER JOIN #temp t ON t.order_number = o.order_number;
SELECT r.* FROM MyRefunds r INNER JOIN #temp t ON t.order_number = r.order_number;