Mysql
 sql >> база данни >  >> RDS >> Mysql

Намиране/търсене на липсващи стойности в MySQL

Предполагам, че имате таблица с фактури - ФАКТУРИ. Можете да опитате:

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

РЕДАКТИРАНЕ:Ако нямате таблицата ФАКТУРИ, може да се наложи да извадите всички фактури, преди да проверите дали има пропуски.

ИЗБЕРЕТЕ DISTINCT invoice_id ОТ ПРОДАЖБИ ПОРЪЧАЙТЕ ПО invoice_id ASCSELECT MAX(invoice_id) ОТ ПРОДАЖБИ

след това от 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. Не може да се създаде таблица (errno:150) на FOREIGN KEY

  2. Как да използвам стойност на низ/колона като константа за интервал от време на mysql (ДЕН, МЕСЕЦ...)?

  3. PHP открива опит за SQL инжекция

  4. Laravel 5 използва условие OR с BETWEEN

  5. Реално max_execution_time за PHP на linux