SELECT
sklad.d_nomer,
MAX(sklad.d_name),
SUM(col),
SUM(scol)
FROM
sklad JOIN eksbel
ON
eksbel.nom_nomer_full = sklad.d_nomer JOIN sklraz
ON
sklraz.snomer_full = sklad.d_nomer
WHERE
d_nomer1 = 'B'
GROUP BY
sklad.d_nomer;
Нямам никакъв опит с Firebird, а и този explain нищо не ми говори. Но, опитай да елиминараш част от join-овете и условията и гледай кога драстично ще се ускори. Така ще разбереш точно коя част ти се бави.
Най-малкото, какво става ако избереш само от едната таблица:
SELECT COUNT(*) FROM sklad WHERE d_nomer1 = 'B'
Колко бързо е това? Съвпадат ли типовете на полетата, по които свързваш таблиците? Има ли индекси на тях?... Колко е общият брой записи в другите две таблици?...