table 1:
code | value1 | date1 515 | md001 | 2016-07-01 515 | md002 | 2016-07-03 612 | ud005 | 2016-08-01 612 | ud006 | 2016-08-03 612 | ud007 | 2016-08-06
table 2:
code | value2 | date2 515 | fc003 | 2016-07-02 515 | fc004 | 2016-07-04 612 | qq008 | 2016-08-02 612 | qq009 | 2016-08-04
desired query output is:
code | value1 | date1 | value2 | date2 515 | md001 | 2016-07-01 | fc003 | 2016-07-02 515 | md002 | 2016-07-03 | fc004 | 2016-07-04 612 | ud005 | 2016-08-01 | qq008 | 2016-08-02 612 | ud006 | 2016-08-03 | qq009 | 2016-08-04 612 | ud007 | 2016-08-06 | |
i have try query result looping in 'value2'. can me guys?
select firsttable.code, firsttable.value1, firsttable.date1, secondtable.value2, secondtable.date2 ( select t1.*, @rn1 := @rn1 + 1 row_number table1 t1 cross join (select @rn1 := 0) var ) firsttable left join ( select t2.*, @rn2 := @rn2 + 1 row_number table2 t2 cross join (select @rn2 := 0) var ) secondtable on firsttable.code = secondtable.code , firsttable.row_number = secondtable.row_number;
note: simple inner join in case won't suffice.
that's why enumerating rows in each table , assigning row number each record first task.
later making inner join
between these 2 enumerated tables on code
, row number
generate expected result set.
Comments
Post a Comment