Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: horalhoralhora 18. 02. 2020, 13:14:51

Název: MariaDB JOIN pro množinu v poli typu JSON
Přispěvatel: horalhoralhora 18. 02. 2020, 13:14:51
V tabulce "products" jsem pouzil datovy typ JSON pro pole "used_materials" ktere obsahuje id vsech pouzitych materialu

Kód: [Vybrat]
Products:
=================================
product_name(varcharc) | used_materials(json/text)
      Product A                 | [1,2,3]
Kód: [Vybrat]
Materials:
=================================
id | material_name
1  | wood
2  | cotton
3  | concrete

Mohl by mi nekdo poradit jak muzu udelat JOIN a prelozit ID v poli products.used_materials?
Chtel jsem se vyhnout vazebni tabulce mezi "products" a "materials"...
Název: Re:MariaDB JOIN pro mnozinu v poli typu JSON
Přispěvatel: Filip Jirsák 18. 02. 2020, 13:29:26
Pokud to chcete udělat rozumně, zaveďte tu vazební tabulku. Databáze s tím počítají, všechny databázové nástroje s takovými vazbami počítají.
Název: Re:MariaDB JOIN pro mnozinu v poli typu JSON
Přispěvatel: horalhoralhora 18. 02. 2020, 13:32:16
ok :)
Název: Re:MariaDB JOIN pro množinu v poli typu JSON
Přispěvatel: Kouzelný dědeček 19. 02. 2020, 12:27:27
...
Mohl by mi nekdo poradit jak muzu udelat JOIN a prelozit ID v poli products.used_materials?
Chtel jsem se vyhnout vazebni tabulce mezi "products" a "materials"...

Mužu se zeptat na důvod, proč se chtít vyhnout relační tabulce?
Název: Re:MariaDB JOIN pro množinu v poli typu JSON
Přispěvatel: redustin 19. 02. 2020, 13:21:15
Protože mysql/mariadb neumí seznamový datový typ (list), neumí ani naindexovat seznam v jsonu. Takže zcela určitě vazební tabulku.