• Try this:

    if object_id('dbo.MasterDefects') is not null

    drop table dbo.MasterDefects;

    if object_id('dbo.Results') is not null

    drop table dbo.Results;

    create table dbo.MasterDefects

    (

    Department Varchar(20),

    Process Varchar(20),

    Type Varchar(20),

    Defect Varchar(20)

    );

    insert dbo.MasterDefects values ( 'Timber', 'CrossCut', 'Wood Fault', 'Fallen Out Knot' );

    insert dbo.MasterDefects values ( 'Timber', 'CrossCut', 'Wood Fault', 'Resin Pocket' );

    insert dbo.MasterDefects values ( 'Timber', 'CrossCut', 'Wood Fault', 'Large Knot' );

    insert dbo.MasterDefects values ( 'Timber', 'CrossCut', 'Wood Fault', 'Wet Timber' );

    insert dbo.MasterDefects values ( 'Timber', 'CrossCut', 'Wood Fault', 'Wood Rott' );

    insert dbo.MasterDefects values ( 'Timber', 'CrossCut', 'Wood Fault', 'Blue Stain' );

    insert dbo.MasterDefects values ( 'Timber', 'CrossCut', 'Wood Fault', 'Chipped Off' );

    create table dbo.Results

    (

    Department Varchar(20),

    Process Varchar(20),

    Type Varchar(20),

    Defect Varchar(20),

    ShiftID Varchar(20),

    SizeID Varchar(20),

    Amount int,

    ShiftBox Varchar(20)

    );

    insert dbo.Results values ( 'Timber', 'CrossCut', 'Wood Fault', 'Fallen Out Knot', '1ae', '1des', 1, 'RTO1' );

    insert dbo.Results values ( 'Timber', 'CrossCut', 'Wood Fault', 'Fallen Out Knot', '1ae', '1des', 1, 'RTO1' );

    insert dbo.Results values ( 'Timber', 'CrossCut', 'Wood Fault', 'Fallen Out Knot', '1ae', '1des', 1, 'RTO1' );

    insert dbo.Results values ( 'Timber', 'CrossCut', 'Wood Fault', 'Resin Pocket', '1ae', '1des', 1, 'RTO1' );

    insert dbo.Results values ( 'Timber', 'CrossCut', 'Wood Fault', 'Resin Pocket', '1ae', '1des', 1, 'RTO1' );

    insert dbo.Results values ( 'Timber', 'CrossCut', 'Wood Fault', 'Large Knot', '1ae', '1des', 1, 'RTO1' );

    SELECT

    M.Department,

    M.Process,

    M.Type,

    M.Defect,

    R.ShiftID,

    R.SizeID,

    SUM(R.Amount) as Amount,

    R.ShiftBox

    FROM MasterDefects M

    LEFT OUTER JOIN Results R

    ON M.Department=R.Department

    AND M.Process= R.Process

    AND M.Type=R.Type

    AND M.Defect=R.Defect

    GROUP BY

    M.Department,

    M.Process,

    M.Type,

    M.Defect,

    R.ShiftID,

    R.SizeID,

    R.ShiftBox;

    Edit: Corrected. Results not in the same order - DK if that matters.

    If you supply test data in a format that can be run, more people will be likely to help! 😀