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

Một cách tốt hơn để tìm kiếm các thẻ trong bảng mysql

Khi Mục A có thể được liên kết với nhiều mục B và mục B có thể được liên kết với nhiều mục A. Điều này được gọi là Mối quan hệ nhiều với nhiều

Dữ liệu có mối quan hệ này nên được lưu trữ trong bảng riêng biệt và chỉ kết hợp với nhau khi truy vấn.

Kiểm tra

Bảng 1

| product_uid | price | amount |
|      1      | 12000 |  3000  |
|      2      | 30000 |   600  |

Bảng 2

| tag_uid | tag_value |
|    1    |   tag_01  |
|    2    |   tag_02  |
|    3    |   tag_03  |
|    4    |   tag_04  |

Sau đó, chúng tôi sử dụng một bảng nối để liên kết chúng

Bảng 3

| entry_uid | product_uid | tag_uid |
|    1      |     1       |     3   |
|    2      |     1       |     4   |
|    3      |     2       |     1   |
|    4      |     2       |     2   |
|    5      |     4       |     2   |

Truy vấn sẽ là (Nếu bạn muốn chọn mục một và thẻ)

SELECT t1.*, t2.tag_value 
FROM Table1 as t1,
JOIN Table3 as join_table ON t1.product_uid = join_table.product_uid
JOIN Table2 as t2 ON t2.tag_uid = join_table.tag_uid
WHERE t1.product_uid = 1


  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 cách nào để lấy các từ phổ biến nhất trong bảng thông qua mysql?

  2. Hỗ trợ JSON gốc trong MYSQL 5.7:Ưu và nhược điểm của kiểu dữ liệu JSON trong MYSQL là gì?

  3. MySQL CHỌN từ nhiều bảng, nhiều GROUP BY và group_concat?

  4. Biểu mẫu gửi sẽ không ở trên cùng một trang

  5. CHỌN các giá trị DISTINCT sau một JOIN