sql >> Database >  >> RDS >> Mysql

Hoe resultaten van 2 tabellen samen te voegen op basis van niet-voorwaarde

U kunt de volgende zoekopdracht gebruiken:

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    

Het idee is om alle vereiste records te selecteren uit TableA met behulp van een NOT EXISTS clausule. Dan CROSS JOIN de afgeleide tabel van deze zoekopdracht met Table1 om alle mogelijke combinaties te krijgen.

Demo hier




  1. Aanbevolen Intel-processors voor SQL Server 2014-workloads

  2. Haal de eeuw uit een datum in PostgreSQL

  3. externe database met Adobe CQ5?

  4. MySQL relationele databases gebruiken op Debian 5 (Lenny)