Presumo que você tenha uma tabela de fatura - FATURAS. Você pode tentar:
SELECT invoice_id FROM INVOICES invoice
WHERE NOT EXISTS (SELECT * FROM SALES s WHERE invoice.invoice_id = s.invoice_id)
EDIT:Se você não tiver a tabela INVOICES, talvez seja necessário retirar todas as faturas antes de verificar se há alguma lacuna.
SELECT DISTINCT invoice_id FROM SALES ORDER POR invoice_id ASCSELECT MAX(invoice_id) FROM SALES
então, por php:
for ($i = 1; $i < $max_invoice_id; $i++)
{
if (!in_array($i, $all_invoice_id))
{
$gapId[] = $i;
}
}