0

早安专家。

对于我正在尝试创建的报告,我真的需要一些帮助。到目前为止,我有它,但我可以让它工作的唯一方法是创建 2 个单独的报告,然后将它们合并到 Excel 中。即便如此,Excel 也需要大量的工作和时间来准备计算。该报告是针对我们的供应商但针对特定制造商的管道报告。我正在使用来自 2 个不同服务器的 2 个查询。

  • 查询 1。“机会”上的所有产品。我将列出零件编号、成本和销售。

  • 查询 2。供应商数据库中的所有产品。我只拉我关心的厂商。它将列出零件编号、制造商名称和列表。我还必须修改制造商名称以保持一致。例如 CISCO 可以是“Cisco Software”、“Cisco Hardware”、“Cisco License”,我需要这只是 CISCO。我用 CASE 语句来处理这个问题。我想根据标价报告。此查询最多可以有 200K 行。

在 Excel 中,我带来了两个查询并进行了查找以匹配零件号并带来制造商和标价。然后我可以转动。

我正在使用 tSQL 来构建我的查询。

4

2 回答 2

2

要在一个查询中执行此操作,您需要设置一个链接服务器。我会咨询贵公司的 DBA,看看他们是否愿意设置这些东西,或者你是否对这些服务器有管理员访问权限,你可以自己设置它(这里是关于为 SQL Server 2008 设置链接服务器的信息。完成后,您将使用 4 部分命名来引用不同的服务器、数据库和表,并在部分编号上加入,然后使用其余的魔法。

关键是获取链接服务器设置,以便您可以在单个查询中从另一个引用供应商数据库。另一种选择是使用 SQL Server Integration Services 加入您的 2 个数据集。

如果您发布了 2 个查询,将会有所帮助。

于 2013-08-28T19:31:39.423 回答
0

理想情况下,我们可以在这里对细节进行一些澄清,但是通过一些简单的假设,我相信您正在寻找类似下面的内容来生成匹配的数据集,

此解决方案假设您有一组链接服务器,

SELECT Q1.PartNumber, Q1.Cost, Q1.Sell, Q2.PartNumber, Q2.ManufacturerName, Q2.List
FROM ( SQL to generate results for Query 1) AS Q1
INNER JOIN ( SQL to generate results for Query 2) AS Q2
ON Q1.PartNumber = Q2.PartNumber

这将有效地返回两个数据集并将它们连接在一起将使您达到可以在 excel 中运行数据透视的地步。

于 2013-07-24T16:05:55.343 回答