vw_sale_item entrega una fila por cada ítem vendido/devolución, unificando facturas y notas de crédito. Los importes y cantidades están con su correspondiente signo, por lo que pueden agregarse directamente.
SELECT
b.title,
SUM(si.quantity) AS qty
FROM public.vw_sale_item si
JOIN public.vw_book b ON si.book_id = b.book_id
WHERE si.report_date BETWEEN DATE '2025-01-01' AND DATE '2025-08-31'
GROUP BY b.title
ORDER BY qty DESC
LIMIT 20;
SELECT
salesman_name,
SUM(line_total_neto_base) AS subtotal_base
FROM public.vw_sale_item
WHERE report_date BETWEEN DATE '2025-01-01' AND DATE '2025-08-31'
GROUP BY salesman_name
ORDER BY subtotal_base DESC;
SELECT
c.country,
SUM(si.line_total_neto_base) AS subtotal_base
FROM public.vw_sale_item si
JOIN public.vw_sale_document sd ON si.document_id = sd.document_id
JOIN public.vw_client c ON sd.client_party_id = c.party_id
WHERE si.report_date >= DATE '2025-01-01'
GROUP BY c.country
ORDER BY subtotal_base DESC;
SELECT
legal_number,
client_name,
SUM(line_total_neto_base) AS refund_base
FROM public.vw_sale_item
WHERE sign = -1
AND report_date >= DATE '2025-01-01'
GROUP BY legal_number, client_name
ORDER BY refund_base ASC;
SELECT
report_date,
legal_number,
client_name,
title,
quantity,
unit_price,
discount_pct,
line_total_neto,
currency_symbol
FROM public.vw_sale_item
ORDER BY report_date DESC
LIMIT 50;