sql >> Databasteknik >  >> RDS >> Mysql

Hitta/söka efter saknade värden i MySQL

Jag antar att du har en fakturatabell - FAKTUROR. Du kan prova:

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

EDIT:Om du inte har tabellen FAKTUROR, kan du behöva ta ut alla fakturor innan du kontrollerar om det finns någon lucka.

VÄLJ DISTINCT invoice_id FROM SALES ORDER BY invoice_id ASCSELECT MAX(invoice_id) FROM SALE

sedan med php:

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


  1. Inre Sammanfogning av tre bord

  2. Hur väljer man data där ett fält har ett minvärde i MySQL?

  3. FULLTEXT-sökning i MySQL returnerar inga rader

  4. kan inte ansluta till mysql docker från lokalt