sql server - help required with Sql query -


i have problem , got 3 tables

table   id        employee     1         1     2         2 3         3   table b id        employee        hoursworked         hourscode 1          1                 10               basic hours 2          1                 20               holiday pay 3          2                 10               basic hours 4          2                 15               overtime  table c  id        employee         payments            paycode 1           1                 100              bonus 2           2                 150              bonus 3           2                 250              student loan 

i want records out of these table in minimum lines , can have 1 line says

id        employee          hour               hourscode       payments      paycode 1          1                 10                basic hours     100           bonus      2          1                 20                holiday pay      null         null 3          2                 10                basic hours      150          bonus  4          2                 15                 overtime        250          student loan 

i have spent ages trying ... dont null in 2nd line comes out 100 bonus in second line employee 1

is there way can please

with    bn         (         select  *, row_number() on (partition employee order id) rn            b         ),         cn         (         select  *, row_number() on (partition employee order id) rn            c         ) select  *    bn full join         cn on      bn.employee = cn.employee         , bn.rn = cn.rn order         coalesce(bn.employee, cn.employee), coalesce(bn.rn, cn.rn) 

Comments

Popular posts from this blog

c++ - Convert big endian to little endian when reading from a binary file -

C#: Application without a window or taskbar item (background app) that can still use Console.WriteLine() -

unicode - Are email addresses allowed to contain non-alphanumeric characters? -