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

Cách tìm kiếm nhiều giá trị được phân tách bằng dấu phẩy trong mysql

Tôi muốn nói rằng, ở đây, cấu trúc dữ liệu của bạn không đúng.

Sẽ là một giải pháp tốt hơn nếu không lưu trữ nhiều giá trị trong một trường bằng cách sử dụng một số định dạng được phân tách bằng dấu phẩy, mà sử dụng ba bảng, được định nghĩa theo cách này:

  • searchtest
    • id
    • name
  • keywords
    • id
    • word
  • keywords_searchtest
    • id_keyword
    • id_searchtest


Cùng với đó, tìm kiếm các mục nhập trong searchtest có các từ khóa cụ thể sẽ đơn giản như:

select searchtest.*, keywords.*
from searchtest
    inner join keywords_searchtest on keywords_searchtest.id_searchtest = searchtest.id
    inner join keywords on keywords.id = keywords_searchtest.id_keyword
where keywords.word = 'test2'


Và, phân tích bổ sung, bạn phải tìm kiếm các mục kiểm tra tìm kiếm với một tên cụ thể:

select *
from searchtest
where name = 'trophy1'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để tính toán tổng của một cột trong bảng SQL cho một ngày nhất định và vá các giá trị bị thiếu với các giá trị của ngày trước đó gần nhất?

  2. tìm kiếm bất kỳ từ nào bằng cách sử dụng LIKE%

  3. nhận Mất kết nối với mysql khi sử dụng mysqldump ngay cả với tham số max_allowed_packet

  4. MYSQL nhận các hàng được chèn từ hôm nay

  5. Cách hiển thị dữ liệu đã lọc trong JFreeChart