2

我在 ssis 中有这样的场景 - 我有两个不同的输入,其中一个来自查找不匹配输出。另一个输入实际上是一个派生列,它是从使用 sql 查询的 oledb 源中的单行单列结果中提取的。问题是我需要加入这两个输入并使其成为单个数据集,以进一步将数据推送到 crm 目的地(Cozyroc)。

我知道 union all 无法完成这项工作,因为它适用于来自不同数据集的行的联合。

也不能使用合并和合并连接,因为需要提供一个公共 id 或密钥才能连接两个数据集,而我没有这样的东西。

例如,我的第一个数据集如下所示:

usinessid          userid      name
---------          ------      ----
ret678             435         john
dfgt67             213         sam

我的第二个数据集是这样的:

systemid
------------------------
6666-777-kjtyr-213t-ytui

它是使用 oledb source - sql 命令使用单列单行查询提取的。

有没有办法组合这两个数据集,以便最终结果类似于:

businessid         userid           name          systemid
----------         ------           ----          ------------------------
ret678             435              john          6666-777-kjtyr-213t-ytui 
dfgt67             213              sam           6666-777-kjtyr-213t-ytui

我想在不使用变量或使用派生列并对 systemid 值进行硬编码的情况下执行此操作。

原谅我的编辑...

关于这个问题的任何进一步的投入都将非常有帮助。

4

1 回答 1

2

要按照您显示的方式组合两个数据集,您可以使用简单的交叉连接:

SELECT
  t1.businessid,
  t1.userid,
  t1.name,
  t2.systemid
FROM
  table1 t1
CROSS JOIN
  table2 t2
;
于 2013-01-18T17:47:27.237 回答