SELECT projects.project_id, projects.project_name, projects.description, projects.live_flag, projects.clientid, projects.progress, DATE_FORMAT(projects.due_date,'%d/%m/%Y') AS del_date, client_table.client_name, projects.project_id, -- IFNULL( SUM( tasks.task_hours ) , 0 ) AS project_hours, -- IFNULL( FORMAT( SUM( tasks.fee ) , 2 ) , 0 ) AS project_fee, tab1.project_unpaid, tab2.open_tickets, IF(projects.due_date > NOW(),'dark-green','light-red') AS overdue_colour, IF(projects.live_flag =1,'live','closed') AS live_closed, IFNULL((projects.project_value - IFNULL(SUM(ot.expense_amount),0)),0) AS project_margin, FORMAT(IFNULL((projects.project_value - IFNULL(SUM(ot.expense_amount),0)),0),2) AS project_margin_formatted, IFNULL(projects.project_value,0) AS project_value, FORMAT(IFNULL(projects.project_value,0),2) AS project_value_formatted, IFNULL(SUM(ot.expense_amount),0) AS project_cost, FORMAT(IFNULL(SUM(ot.expense_amount),0),2) AS project_cost_formatted, IFNULL(tt.end_time,'N') AS timer_started, tt.time_id, projects.hourly_rate FROM projects LEFT JOIN outgoings AS ot ON ot.project_id = projects.project_id LEFT JOIN time_tracker AS tt ON tt.element_id = projects.project_id AND tt.element_type = 1 AND tt.general_time_flag = 1 AND tt.end_time = '0000-00-00 00:00:00' AND tt.user_id = '##user_id##' LEFT JOIN ( SELECT IFNULL( FORMAT( SUM( tk.fee ) , 2 ) , 0 ) AS project_unpaid, inv.project_id FROM tasks AS tk, invoice AS inv, invoice_task AS it WHERE it.invoice_id = inv.invoice_id AND tk.task_id = it.task_id AND inv.paid =0 ) AS tab1 ON tab1.project_id = projects.project_id LEFT JOIN ( SELECT COUNT(*) AS open_tickets, st.project_id FROM support_ticket AS st WHERE st.status=1 GROUP BY st.project_id ) AS tab2 ON projects.project_id = tab2.project_id, client_table ##where_sql## GROUP BY projects.project_id DESC ##LIMIT##