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

Cập nhật MySQL các hàng có phép nối đôi bên trái, giới hạn khớp nối đầu tiên

Bạn đã thực hiện nhiệm vụ khá dễ dàng với sqlfiddle cũng như nỗ lực giải quyết vấn đề với truy vấn Chọn.

Nó hoạt động theo cách bạn muốn, tôi đoán và tất cả những gì tôi cần làm là thêm một phép nối bên trái nữa với bảng danh mục (IDK tại sao bạn không thể tham gia Danh mục vì nó đang hoạt động bình thường).

Vì thế. Tôi đã chỉnh sửa truy vấn đã chọn của bạn như sau:

select Products.name, Filters.*,Categories.id from Products
left join Filters
on Products.name LIKE CONCAT('%',Filters.filter,'%')
left join Categories
on Categories.name = Filters.category_name
GROUP BY Products.name;

Bạn sẽ nhận được kết quả mong muốn với truy vấn này.

Bây giờ, để cập nhật Products với kết quả của truy vấn này, bạn có thể thực hiện như sau:

update Products
left join Filters
on Products.name LIKE CONCAT('%',Filters.filter,'%')
left join Categories
on Categories.name = Filters.category_name
set Products.category_name = Filters.category_name, 
    Products.category_id = Categories.id;

Nhấp vào đây để làm việc Demo

Hy vọng nó sẽ hữu ích!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mối quan hệ 1-1 liên quan đến nhiều bảng

  2. node.js / MySQL:Một số mã hóa chuỗi (Biểu tượng cảm xúc) đang gây ra lỗi khi tôi cố gắng chèn vào cơ sở dữ liệu

  3. Lưu trữ ngày và tháng (không tính năm)

  4. Làm thế nào để tránh Sử dụng tạm thời trong nhiều truy vấn?

  5. Sự khác biệt giữa SQL và MySQL là gì?