sql >> Database teknologi >  >> RDS >> Mysql

hvor er fejlen i min sql kode?

JOIN t2 ON t1.wid = t1.wid

mente du det? eller mener du virkelig t1.wid =t2.wid? i så fald vil du have en venstre join.

REDIGER

Okay, så du har rettet det. Det vil ikke vise nogen resultater, medmindre der er rækker i t2, der har en wid, der matcher en række i t1 med samme wid.

Hvis du vil have resultater, skal du ændre det til dette:

'SELECT * FROM t1
          LEFT JOIN t2 ON t1.wid = t2.wid
          WHERE t2.wid IS NULL
          LIMIT ' . $number;

NÆSTE REDIGER

Hvis målet er at opdatere t2 med værdier fra t1, der ikke ALLEREDE er i t2, så ville det være sådan her:

'INSERT INTO t2 
   SELECT t1.* FROM t1
     LEFT JOIN t2 
        ON t1.wid = t2.wid
     WHERE t2.wid IS NULL
     LIMIT ' . $number;

Det manglende trin var simpelthen kun at returnere t1's resultater og derefter indsætte dem i t2.



  1. Ret "FEJL 1054 (42S22):Ukendt kolonne 'colname' i 'order clause' i MariaDB

  2. Hvad pokker er en DTU?

  3. Node.js MySQL - Fejl:tilslut ECONNREFUSED

  4. Føj dage til en dato i PostgreSQL