Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Baris Pembaruan MySQL dengan gabungan kiri ganda, membatasi pertandingan pertama

Anda membuat tugas cukup mudah dengan sqlfiddle Anda serta upaya Anda untuk memecahkan masalah dengan Select query.

Ini bekerja seperti yang Anda inginkan, saya kira dan yang perlu saya lakukan adalah menambahkan satu lagi bergabung dengan tabel kategori (IDK mengapa Anda tidak dapat bergabung dengan Kategori karena berfungsi dengan baik).

Jadi. Saya telah mengedit kueri pemilihan Anda sebagai berikut:

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;

Anda akan mendapatkan hasil yang Anda inginkan dengan kueri ini.

Sekarang, untuk memperbarui Products tabel dengan hasil kueri ini, Anda dapat melakukan hal berikut:

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;

Klik di sini untuk Demo Kerja

Semoga membantu!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Salin tabel tanpa menyalin data

  2. Prosedur Tersimpan vs Pemicu di MySQL

  3. Hubungkan Dengan Setara Sebelumnya untuk MySQL

  4. sorot jquery() melanggar tabel dinamis

  5. Cara memilih catatan berisi MAX(some_field) dalam GROUP(group by)