我有一个名为Customer的数据库,我有3个重要的表,这些表是:CustomerID,CustomerToBillID和CustomerName。 假设我们有一个数据集:
CustomerID = 1 with, CustomerName = John
CustomerID = 2 CustomerName = Bert
And the CustomerToBillID = 2 on both (so Bert only pays)
有没有办法我可以拥有两个CustomerName列?例如我想 将CustomerID与CustomerName一起使用,并将CustomerToBillID与CustomerName一起使用。
在对CustomerToBillID进行排序后,我尝试对CustomerName使用数据转换来制作CustomerNameOne和mergejoin,但这不会这样做,因为他会对同一个数据库中的两个CustomerName感到困惑,只是选择一个CustomerID或CustomerToBillID,我在Virtual Studio 2017 SSDT中使用SSIS。
如果需要,我可以提供更多信息。
编辑:我要输出以下内容:
之后。 红色圆圈的数据有误。它具有CustomID 454而不是401 现在,客户有了CustomerName,发给客户的帐单具有CustomerNameOne列。
编辑2: 目前情况就是这样,红色圆圈是相同的数据库/表,因此从第二个中获取CustomerName列会使我感到困惑吗?
为了简单起见,我想执行此操作,但这不起作用,因为当CustomerID = 1击中CustomerToBill = 1时,他将采用CustomerID = 129并更改1个id 129,例如以下数据结果图像中的示例:
红线应该是(总部)而不是(矿山)
关于评论,我按照您的要求做了,只是蓝线给了我很好的输出,但是红线与BillTOID相对应,它只是说出了CustomerID的名称。
答案 0 :(得分:1)
要执行此操作,请从两个合并联接开始,一个将CustomerID转换为CustomerName,另一个将使用CustomerBillToID和CustomerName联接。此后,使用唯一键标识该行(客户,订单等),添加第三个合并联接,然后您可以从先前联接中仅输出必要的列,包括每个CustomerName。您可能还需要适当地为每个CustomerName别名。