Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wiersze MySQL Update z podwójnym lewym złączeniem, ograniczające pierwsze dopasowanie

Uczyniłeś zadanie całkiem łatwym za pomocą sqlfiddle, a także próbowałeś rozwiązać problem za pomocą zapytania Select.

Działa tak, jak chcesz, a wszystko, co muszę zrobić, to dodać jeszcze jedno lewe sprzężenie z tabelą kategorii (IDK, dlaczego nie możesz dołączyć do Kategorii, ponieważ działa poprawnie).

Więc. Twoje zapytanie wybierające zostało przeze mnie edytowane w następujący sposób:

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;

Dzięki temu zapytaniu uzyskasz pożądane wyniki.

Teraz, aby zaktualizować Products tabela z wynikiem tego zapytania, możesz wykonać następujące czynności:

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;

Kliknij tutaj, aby zobaczyć działające demo

Mam nadzieję, że to pomoże!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nieprawidłowa wartość daty i godziny:''2012-07-14 23:00:00''

  2. Błąd ETIMEOUT | Baza danych Google Cloud SQL z NodeJS

  3. Korzystanie z wyników zapytania w ramach tego samego zapytania

  4. Wygeneruj zapytanie za pomocą 5 tabel

  5. Nie można połączyć się z bazą danych MySQL w Node.js