Оно конечно можно.
Но без хорошего знания sql - возни много.
Отчетные системы как раз и упрощают такие вещи.
Проверяй.
Код:
SELECT g_id,
DECODE(g_id, 1, country, 2, null, 3, 'Итого по стране ' || country || ': ', 'Всего: ') c,
displayitem, article, name,
DECODE(g_id, 1, null, itemprice) itemprice,
DECODE(g_id, 1, null, total_q) total_q,
DECODE(g_id, 1, null, total_p) total_p
FROM
(
SELECT GROUPING_ID(c.country, null, s.article) g_id,
s.displayitem, s.article, REPLACE(c.NAME, chr(9), ' ') name, c.country, s.itemprice,
SUM (s.quantity) total_q, SUM (s.totalprice) total_p
FROM supermag.smspec s, supermag.smcard c
WHERE s.article = c.article AND s.doctype = 'OR' AND s.docid = 'ЗП40232'
GROUP BY GROUPING SETS ((s.displayitem, s.article, c.NAME, c.country, s.itemprice),
(c.country, null),
c.country,
null)
)
ORDER BY country ASC, g_id ASC, displayitem ASC