I have the following two tables and I need to get the following result:
Table 1
(A, 1, 01/01/2015),
(A, 1, 10/01/2015),
(A, 2, 20/01/2015),
(A, 2, 01/05/2015),
(B, 1, 20/02/2014),
(B, 1, 20/02/2015),
(B, 2, 20/02/2016),
(B, 2, 06/05/2015)
Table 2
(A, 1, 123),
(A, 1, 123),
(A, 2, 234),
(A, 2, 234),
(B, 1, 123),
(B, 2, 123),
I want to return the earliest date of each distinct combo:
(A, 123, 01/01/2015),
(A, 234, 20/01/2015),
(B, 123, 20/02/2014)
Code I have tried:
DECLARE @table1 TABLE (letter1 CHAR(1), num1 INT, date1 INT)  
DECLARE @table2 TABLE (letter1 CHAR(1), num1 INT, num2 INT)  
INSERT INTO @table1 VALUES    
    ('A', 1, 01012015),  
    ('A', 1, 10012015),  
    ('A', 2, 20012015),  
    ('A', 2, 01052015),  
    ('B', 1, 20022014),  
    ('B', 1, 20022015),  
    ('B', 2, 20022016),  
    ('B', 2, 06052015)  
INSERT INTO @table2 VALUES   
    ('A', 1, 123),  
    ('A', 1, 123),   
    ('A', 2, 234),  
    ('A', 2, 234),  
    ('B', 1, 123),  
    ('B', 2, 123)  
SELECT DISTINCT [@table1].letter1,  num2, MIN(date1) FROM @table1
INNER JOIN @table2 ON [@table1].letter1 = [@table2].letter1 AND [@table1].num1 = [@table2].num1
GROUP BY [@table1].letter1, [@table1].num1, num2
 
     
     
    