Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

lỗi trong mã sql của tôi ở đâu?

JOIN t2 ON t1.wid = t1.wid

ý bạn là vậy à? hay ý bạn thực sự là t1.wid =t2.wid? trong trường hợp đó bạn muốn tham gia bên trái.

CHỈNH SỬA

Được rồi, vậy là bạn đã sửa nó. Điều đó sẽ không hiển thị bất kỳ kết quả nào trừ khi có hàng ở t2 có phần phụ khớp với hàng ở t1 có cùng phần phụ.

Nếu bạn muốn có kết quả, hãy thay đổi nó thành thế này:

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

CHỈNH SỬA TIẾP THEO

Nếu mục tiêu là cập nhật t2 với các giá trị từ t1 mà không CÓ ở t2, thì nó sẽ giống như thế này:

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

Bước còn thiếu chỉ đơn giản là trả về kết quả của t1, sau đó chèn chúng vào 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. Cảnh báo MariaDB:'[email protected]' có cả hai ... Mật khẩu sẽ bị bỏ qua

  2. MySQL dynamic-pivot

  3. Làm thế nào để loại bỏ các ký tự xấu không phù hợp với mã hóa utf8 trong MySQL?

  4. Cách khắc phục Cảnh báo MySQL của Cố vấn Bảo mật

  5. MySQL Chọn Ngày đầu tiên trong năm và Tháng