sql >> Base de Datos >  >> RDS >> Mysql

Encontrar/buscar valores faltantes en MySQL

Supongo que tiene una tabla de factura - FACTURAS. Puedes probar:

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

EDITAR:si no tiene la tabla FACTURAS, es posible que deba sacar todas las facturas antes de verificar si hay alguna brecha.

SELECCIONE DISTINTO id_factura DEL PEDIDO DE VENTAS POR id_factura ASC SELECCIONE MAX(id_factura) DE VENTAS

luego, por php:

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