Mysql
 sql >> база данни >  >> RDS >> Mysql

По-добър начин за търсене на тагове в таблицата на mysql

Когато елемент A може да бъде свързан с много от елемент B, а елемент B може да бъде свързан с много от елемент A. Това се нарича Връзка много към много

Данните с тези отношения трябва да се съхраняват в отделна таблица и да се обединяват само при заявка.

Пример

Таблица 1

<предварителен код>| product_uid | цена | сума || 1 | 12000 | 3000 || 2 | 30000 | 600 |

Таблица 2

<предварителен код>| tag_uid | стойност_на етикет || 1 | етикет_01 || 2 | етикет_02 || 3 | етикет_03 || 4 | етикет_04 |

След това използваме таблица за свързване, за да ги свържем

Таблица 3

<предварителен код>| entry_uid | product_uid | tag_uid || 1 | 1 | 3 || 2 | 1 | 4 || 3 | 2 | 1 || 4 | 2 | 2 || 5 | 4 | 2 |

Заявката ще бъде (Ако искате да изберете елемент едно и етикета)

ИЗБЕРЕТЕ t1.*, t2.tag_value ОТ Table1 като t1,JOIN Table3 като join_table ON t1.product_uid =join_table.product_uidJOIN Table2 като t2 ON t2.tag_uid =join_table.tag_uidWHERE =t1.product_uid> 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Заявете MySQL db с помощта на java

  2. Изчислете общата платена от foreach генерирана таблица в codeigniter

  3. Разбъркайте низ с mysql/sql

  4. c3p0 виси в очакване. Налично с хибернация

  5. Проблеми при проверката дали таблица съществува или не в db