sql >> Databasteknik >  >> RDS >> Mysql

Hur man sammanfogar resultat av 2 tabeller baserat på icke-villkor

Du kan använda följande fråga:

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    

Tanken är att välja alla nödvändiga poster från TableA med en NOT EXISTS klausul. Sedan CROSS JOIN den härledda tabellen från denna fråga med Table1 för att få alla möjliga kombinationer.

Demo här




  1. MySQL Välj JOIN 3 Tables

  2. MySQL - Snabbaste sättet att kontrollera om data i InnoDB-tabellen har ändrats

  3. MySQL - Uppdatera värden baserat på delfråga

  4. PostgreSQL-arv med JPA, Hibernate