Here is my query 

```
SELECT DISTINCT
    SM.sales_date,
    (SELECT 
            SUM(gross_sale)
        FROM
            sales_main AS INTERNAL
        WHERE
            INTERNAL.sales_date = SM.sales_date AND INTERNAL.vehicle_name=SM.vehicle_name) AS TGROSS,
    (SELECT 
            SUM(net_sale)
        FROM
            sales_main AS INTERNAL
        WHERE
            INTERNAL.sales_date = SM.sales_date AND INTERNAL.vehicle_name=SM.vehicle_name) AS TNET,
    (SELECT 
            SUM(cash)
        FROM
            sales_main AS INTERNAL
        WHERE
            INTERNAL.sales_date = SM.sales_date AND INTERNAL.vehicle_name=SM.vehicle_name) AS TCASH,
    (SELECT 
            SUM(cheque)
        FROM
            sales_main AS INTERNAL
        WHERE
            INTERNAL.sales_date = SM.sales_date AND INTERNAL.vehicle_name=SM.vehicle_name) AS TCHEQUE,
    (SELECT 
            SUM(credit)
        FROM
            sales_main AS INTERNAL
        WHERE
            INTERNAL.sales_date = SM.sales_date AND INTERNAL.vehicle_name=SM.vehicle_name) AS TCREDIT,
    (SELECT 
            SUM((SELECT 
                        amount
                    FROM
                        sales_main_deduction AS INTERNAL
                    WHERE
                        INTERNAL.instance = '4%' AND INTERNAL.idsales_main = SMinternal.idsales_main))
        FROM
            sales_main AS SMinternal
        WHERE
            SMinternal.sales_date = SM.sales_date AND SMinternal.vehicle_name=SM.vehicle_name) AS '4%'
            ,
    (SELECT 
            SUM((SELECT 
                        amount
                    FROM
                        sales_main_deduction AS INTERNAL
                    WHERE
                        INTERNAL.instance = '6%' AND INTERNAL.idsales_main = SMinternal.idsales_main))
        FROM
            sales_main AS SMinternal
        WHERE
            SMinternal.sales_date = SM.sales_date AND SMinternal.vehicle_name=SM.vehicle_name) AS '6%',
    (SELECT 
            SUM((SELECT 
                        amount
                    FROM
                        sales_main_deduction AS INTERNAL
                    WHERE
                        INTERNAL.instance = '10%' AND INTERNAL.idsales_main = SMinternal.idsales_main))
        FROM
            sales_main AS SMinternal
        WHERE
            SMinternal.sales_date = SM.sales_date AND SMinternal.vehicle_name=SM.vehicle_name) AS '10%',
    (SELECT 
            SUM((SELECT 
                        amount
                    FROM
                        sales_main_deduction AS INTERNAL
                    WHERE
                        INTERNAL.instance = 'M/R' AND INTERNAL.idsales_main = SMinternal.idsales_main))
        FROM
            sales_main AS SMinternal
        WHERE
            SMinternal.sales_date = SM.sales_date AND SMinternal.vehicle_name=SM.vehicle_name) AS 'M/R',
    (SELECT 
            SUM((SELECT 
                        amount
                    FROM
                        sales_main_deduction AS INTERNAL
                    WHERE
                        INTERNAL.instance = 'S/R' AND INTERNAL.idsales_main = SMinternal.idsales_main))
        FROM
            sales_main AS SMinternal
        WHERE
            SMinternal.sales_date = SM.sales_date AND SMinternal.vehicle_name=SM.vehicle_name) AS 'S/R'
FROM
    sales_main AS SM
WHERE
    (SM.sales_date >= '2013-06-01' AND SM.sales_date <= '2013-06-05') AND SM.vehicle_name='Lorry1'

```

and this is the result..

```
2013-06-01  59582.03  58336.59  32096.96  11141.02  15098.59  1245.44                
2013-06-03  132334.45  126461.84  33138.93  11046.63  82276.28  1774.46 557.02  3541.13  2013-06-04  72184.69  71882.93  27840.74  12410.16  31632.03   152.16    149.6     
2013-06-05  93478.20  86721.32  34461.47  24971.24  27288.6  934.48  3553.32  2269.08

```

But this if this queryextends to 31 days of month it takes 10 mins to return a results from 2000 rows table ....please help..