• Here is your join (slightly modified by me):

    FROM

    TABLE_LONG CA

    INNER JOIN TABLE_SHORT A

    ON CA.DATE_START = A.DATE_START

    Look closely at your join condition. For each date, you are going to get a cartesian product. If TABLE_LONG has 5 records for 2013-03-27 and TABLE_SHORT has 8 records for the same date you will get 40 records for 2013-03-27 in the resultant table created by the join. What you need to do is UNION the base records you need for the query and do your aggregation there.