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

Как да се присъединят резултатите от 2 таблици въз основа на не условие

Можете да използвате следната заявка:

SELECT id, name, partNumber, Aid, Aname, Apart
FROM TableB AS t
CROSS JOIN (SELECT id AS Aid, name AS Aname, partNumber AS Apart
            FROM TableA AS a
            WHERE NOT EXISTS (SELECT 1
                              FROM TableB AS b
                              WHERE b.partNumber = a.partNumber)) AS c
ORDER BY id    

Идеята е да изберете всички необходими записи от TableA използвайки NOT EXISTS клауза. След това CROSS JOIN извлечената таблица от тази заявка с Table1 за да получите всички възможни комбинации.

Демо тук




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Оператор за сравнение на MySQL, интервали

  2. MySQL:Ограничаване на набор от колони, така че поне една да не е NULL

  3. Как да избегнем вмъкването на дублиращи се записи в MySQL

  4. PHP и MySQL:Сравняване на месец и ден с динамична година

  5. Минимални нива на достъп за изпълнение на съхранената процедура на MySql