我必须将数据从多个excel工作表复制到单个SQL表中。
Excel输入:Sheet2 1的列: fname a,b.lname c,d. (2行)Sheet2 2的列:市波士顿,奥斯汀,马州,德克萨斯州。(2行)
我的输出(tMSSqlOutpout)有4行,而不是2.a、c、d、b、d。
期望输出:a、c波士顿ma、b d奥斯汀tx。(仅2行)
我该怎么处理这个?
发布于 2014-06-13 08:27:52
根据注释,您没有一个自然键来连接这两个数据集。相反,您可以为每个数据集生成一个序列,该序列对两个数据集都是相等的增量,并等同于在每个数据集中的行号。
首先,这应该会对数据的状态以及如何确保一个数据集中的第n行一定对应于另一个数据集中的第n行发出警报。如果没有添加适当的键,它就会发出严重的正常化的味道,假设由此产生的数据集将是准确的,这可能是非常危险的。
但是,如果您绝对必须这样做,那么您应该为每个数据集分配一个Numeric.sequence
。您可以在加入tMap之前的tMap中这样做:
注意"s1"
参数到Numeric.sequence
。如果您在其他地方重用它,那么它将增加这个序列,而不是从1开始,因此通常您希望为工作中的每个序列选择一个唯一的名称(尽管在某些情况下,增量先前定义的序列显然是您所希望的)。
一旦定义了具有相同起始数(第二个参数)和相同增量号(第三个参数)的唯一序列,那么您应该能够在这些实例上创建一个连接:
https://stackoverflow.com/questions/24207580
复制