• ok...a starter to build upon

    maybe this is what you require or maybe not.

    please note......it would be helpful to post set up scripts and expected answers when you start a new question.

    Also....you may well find that you over simplified your example....questions were asked before about start/end dates remaining constant per claim....i dont see this has been answered

    USE tempdb

    GO

    CREATE TABLE yourtable(

    insurer VARCHAR(4) NOT NULL

    ,claim_number INTEGER NOT NULL

    ,location VARCHAR(5) NOT NULL

    ,start_date DATETIME NOT NULL

    ,end_date DATETIME NOT NULL

    );

    INSERT INTO yourtable(insurer,claim_number,location,start_date,end_date) VALUES ('john',5555,'east','1/5/10','1/17/10');

    INSERT INTO yourtable(insurer,claim_number,location,start_date,end_date) VALUES ('john',5555,'west','1/5/10','1/17/10');

    INSERT INTO yourtable(insurer,claim_number,location,start_date,end_date) VALUES ('john',5555,'south','1/5/10','1/17/10');

    INSERT INTO yourtable(insurer,claim_number,location,start_date,end_date) VALUES ('jane',3333,'west','4/6/12','4/16/12');

    INSERT INTO yourtable(insurer,claim_number,location,start_date,end_date) VALUES ('jane',3333,'north','4/6/12','4/16/12');

    INSERT INTO yourtable(insurer,claim_number,location,start_date,end_date) VALUES ('jane',3333,'east','4/6/12','4/16/12');

    SELECT insurer

    , claim_number

    , cast(DATEDIFF(day, start_date, end_date) * 1.0 / COUNT(*) as decimal(9,2)) AS result

    FROM yourtable

    GROUP BY insurer

    , claim_number

    , start_date

    , end_date

    ________________________________________________________________
    you can lead a user to data....but you cannot make them think
    and remember....every day is a school day