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

Czy możliwe jest posiadanie kolumny MySQL zawierającej wiele wartości jako klucze obce?

Jeśli nie chcesz tworzyć tabeli „pośredniego człowieka” do łączenia dwóch tabel, możesz użyć w polu wartości oddzielonej przecinkami, wystarczy użyć find_in_set funkcja mysql podczas wykonywania zapytań

UŻYWANIE find_in_set

SELECT
   log.user_id, log.activity_id, log.tags,
   GROUP_CONCAT(tags.name) as taggedNames //This assumes there is a field called `name` in tags table
FROM
   log
LEFT JOIN tags
ON
   FIND_IN_SET(tags.tag_id,log.tags)
GROUP BY
   log.activity_id

GROUP_CONCAT zgrupuje pola i oddzieli je separatorem, domyślnie ,




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przechowywanie szwedzkich znaków w bazie mysql

  2. Jak wyszukać dokładną liczbę w php

  3. jak używać `charset` i `encoding` w `create_engine` SQLAlchemy (aby stworzyć pandas dataframe)?

  4. php mysql przechowuje podziały wierszy w obszarze tekstowym w bazie danych

  5. jeśli tabela nie istnieje, wykonaj długie zapytanie