sql >> Databáze >  >> RDS >> Mysql

Lepší způsob, jak hledat značky v tabulce mysql

Když položka A může být spojena s mnoha položkami B a položka B může být spojena s mnoha položkami A. Říká se tomu Vztah mnoho k mnoha

Data s tímto vztahem by měla být uložena v samostatné tabulce a spojit se pouze na dotaz.

Příklad

Tabulka 1

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

Tabulka 2

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

Potom je použijeme spojovací tabulku

Tabulka 3

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

Dotaz bude (Pokud chcete vybrat položku jedna a značku)

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. Podporuje mysqldump ukazatel průběhu?

  2. Použijte OBJECT_NAME() k získání názvu objektu z jeho object_id na serveru SQL

  3. MySQL všechny vztahy rodič-dítě

  4. Kolik sloupců můžete mít (maximálně) v tabulce MySQL?