Mysql
 sql >> Base de données >  >> RDS >> Mysql

Trouver/rechercher des valeurs manquantes dans MySQL

Je suppose que vous avez un tableau de facture - FACTURES. Vous pouvez essayer :

 SELECT invoice_id FROM INVOICES invoice
 WHERE NOT EXISTS (SELECT * FROM SALES s WHERE invoice.invoice_id = s.invoice_id)

EDIT :Si vous n'avez pas la table INVOICES, vous devrez peut-être retirer toutes les factures avant de vérifier s'il y a un écart.

SELECT DISTINCT id_facture FROM SALES ORDER BY id_facture ASCSELECT MAX(id_facture) FROM SALES

puis, par php :

for ($i = 1; $i < $max_invoice_id; $i++)
{
  if (!in_array($i, $all_invoice_id))
  {
    $gapId[] = $i;
  }
}