Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Znajdowanie/szukanie brakujących wartości w MySQL

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;
  }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wprowadzenie do typów danych SQL

  2. Znajdowanie/szukanie brakujących wartości w MySQL

  3. Normy dotyczące dodawania daty/godziny?

  4. Projekt bazy danych komentarzy i odpowiedzi

  5. Zapytanie MySQL do obliczenia poprzedniego miesiąca