Пока написал следующее
Код:
SELECT a.id AS accId
, a.`name` AS accName
, c.start_card_code
, cl.id AS clientId
, concat(ifnull(cl.sur_name, ''), ' ',
ifnull(cl.name, ''), ' ',
ifnull(cl.patronymic, '') ) AS clientName
, acc_get_balance(a.id, sysdate()) AS restIn
FROM
trm_in_clients cl
INNER JOIN `local_auth_account` a
ON a.account_type_id = 3 AND a.params = cl.id
INNER JOIN trm_in_card_client cc
ON cc.client = cl.id AND cc.deleted = 0
INNER JOIN trm_in_cards c
ON c.id = cc.card AND c.global_id = 0 AND c.deleted = 0
WHERE
cl.deleted = 0
AND cl.global_id = 0;
Возникает вопрос касательно оптимизации, что будет правильнее
1. Оставить для получения баланса имеющуюся функцию acc_get_balance
2. Данные по начислениям вынести в отдельный селект и приджойнить его к основному запросу?