SSIS中合并连接(左外连接)的伪代码

时间:2011-08-18 12:31:44

标签: sql sql-server visual-studio ssis

我有一个正在进行左外连接的合并连接变换。谁能告诉我这个变换的伪代码?我想我理解输出,但我很想知道用于产生它的逻辑。

谢谢!

1 个答案:

答案 0 :(得分:1)

合并连接的工作方式是遍历两个排序列表中的所有记录。合并将匹配记录,但始终返回左侧列表中的记录,即使没有右侧列表中的相应记录也是如此。由于记录在两个列表中进行了排序,因此该过程知道它可以放弃列表中进一步匹配的可能性;

Get first record from leftList
Get first record from rightList

While not at the end of either list
begin
    if leftList key matches right list key
    begin 
        return (leftList and rightList row)
        move to next rightList row
    end
    else if no previous match found on leftList
    begin
        return (leftList)
        move to next leftList row
    end
    else 
        move to next leftList row
end