Presumo che tu abbia una tabella delle fatture - FATTURE. Puoi provare:
SELECT invoice_id FROM INVOICES invoice
WHERE NOT EXISTS (SELECT * FROM SALES s WHERE invoice.invoice_id = s.invoice_id)
EDIT:se non hai la tabella FATTURE, potresti dover rimuovere tutte le fatture prima di controllare se ci sono delle lacune.
SELECT DISTINCT fattura_id DA ORDINE DI VENDITA PER fattura_id ASCSELECT MAX(invoice_id) DA SALDI
quindi, da php:
for ($i = 1; $i < $max_invoice_id; $i++)
{
if (!in_array($i, $all_invoice_id))
{
$gapId[] = $i;
}
}