将两个加入一个SSIS

时间:2018-05-02 05:48:17

标签: sql sql-server ssis etl

有谁知道要解决这个问题?

我是SSIS的dummie,我有一个带有WomenID,MenID,Date和Status的派生列。 问题是我需要将WomenID和MenID“加入”一个(ID)保存日期和状态,例如:

WomenID| MenID| Date      | Status
123    | 345  | 20160819  |  M
768    | 762  | 19870830  |  S

并需要将其变为

ID   |Date      |Status
123  |20160819  | M
768  |19870830  | S
345  |20160819  | M
762  |19870830  | S

我知道这是一个微不足道的问题,但是看不出这个问题。

2 个答案:

答案 0 :(得分:0)

一个选项使用UNION

SELECT WomenID AS ID, Date, Status FROM yourTable
UNION ALL
SELECT MenID, Date, Status FROM yourTable

如果您想要向我们展示的确切顺序,我们需要做更多的工作。计算列是一种方法:

WITH cte AS (
    SELECT WomenID AS ID, Date, Status, 0 AS position FROM yourTable
    UNION ALL
    SELECT MenID, Date, Status, 1 FROM yourTable
)

SELECT ID, Date, Status
FROM cte
ORDER BY position, Status;

enter image description here

Demo

答案 1 :(得分:0)

这应该有所帮助:

select womenid as Id, Date, status where status=‘F’
Union
Select menid as Id, Date, status where status=‘M’

希望有所帮助