Zakładam, że masz tabelę faktur - FAKTURY. Możesz spróbować:
SELECT invoice_id FROM INVOICES invoice
WHERE NOT EXISTS (SELECT * FROM SALES s WHERE invoice.invoice_id = s.invoice_id)
EDYCJA:Jeśli nie masz tabeli INVOICES, przed sprawdzeniem, czy nie ma luk, konieczne może być wyjęcie wszystkich faktur.
SELECT DISTINCT faktura_id FROM SPRZEDAŻY ORDER BY faktura_id ASCSELECT MAX(invoice_id) FROM SPRZEDAŻY
następnie przez php:
for ($i = 1; $i < $max_invoice_id; $i++)
{
if (!in_array($i, $all_invoice_id))
{
$gapId[] = $i;
}
}