• Here is a quick solution, adds a row number to join the two sets

    😎

    IF OBJECT_ID('Tempdb..#tTable1') IS NOT NULL

    DROP TABLE #tTable1

    CREATE TABLE #tTable1(ID INT,

    Value1 VARCHAR(50),

    Value2 VARCHAR(20))

    INSERT INTO #tTable1(ID, Value1, Value2)

    VALUES

    (222,'A','B'),

    (222,'R','F'),

    (222,'T','C')

    IF OBJECT_ID('Tempdb..#tTable2') IS NOT NULL

    DROP TABLE #tTable2

    CREATE TABLE #tTable2(ID INT,

    Value3 VARCHAR(50),

    Value4 DATETIME)

    INSERT INTO #tTable2(ID, Value3, Value4)

    VALUES

    (222,'A',GETDATE()),

    (222,'A',GETDATE()+3),

    (222,'C',GETDATE()-8),

    (222,'R',GETDATE()+2),

    (222,'T',GETDATE()-5);

    ;WITH TBL_1 AS

    (

    SELECT

    ROW_NUMBER() OVER (PARTITION BY ID ORDER BY Value1) AS VALUE_RID

    ,ID

    ,Value1

    ,Value2

    FROM #tTable1

    )

    ,TBL_2 AS

    (

    SELECT

    ROW_NUMBER() OVER (PARTITION BY ID ORDER BY Value3) AS VALUE_RID

    ,ID

    ,Value3

    ,Value4

    FROM #tTable2

    )

    SELECT

    T2.ID

    ,T1.Value1

    ,T1.Value2

    ,T2.Value3

    ,T2.Value4

    FROM TBL_2 T2

    LEFT OUTER JOIN TBL_1 T1

    ON T2.ID = T1.ID

    AND T2.VALUE_RID = T1.VALUE_RID;

    Results

    ID Value1 Value2 Value3 Value4

    ---- ------- ------- ------- -----------------------

    222 A B A 2014-08-28 09:09:43.257

    222 R F A 2014-08-31 09:09:43.257

    222 T C C 2014-08-20 09:09:43.257

    222 NULL NULL R 2014-08-30 09:09:43.257

    222 NULL NULL T 2014-08-23 09:09:43.257