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

къде е грешката в моя sql код?

JOIN t2 ON t1.wid = t1.wid

това ли имаше предвид? или наистина имаш предвид t1.wid =t2.wid? в този случай бихте искали ляво присъединяване.

РЕДАКТИРАНЕ

Добре, значи го оправихте. Това няма да покаже никакви резултати, освен ако няма редове в t2, които имат wid, който съвпада с ред в t1 със същия wid.

Ако искате резултати, променете го на това:

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

СЛЕДВАЩА РЕДАКТИРАНЕ

Ако целта е да се актуализира t2 със стойности от t1, които ВЕЧЕ НЕ са в t2, тогава това би било нещо подобно:

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

Липсващата стъпка беше просто да се върнат само резултатите от t1 и след това да се вмъкнат в t2.



  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 (т.е. телефонен номер, SSN и т.н. форматиране на дисплея)

  2. html drill down падащо меню избраната стойност не се вмъква в MYSQL

  3. добре ли е да се съхранява десетична стойност като varchar в mysql?

  4. Копирайте MySQL таблица, включително индекси

  5. Как да изпълнявате PHP код периодично по автоматичен начин