Я определяю структуру / запрос, который мне понадобится для обработки косвенных ссылок в столбце вариантов (т.е. я хочу извлечь разные поля для разных строк на основе определений другой таблицы).
Пример: у меня есть данные вариантов, которые представляют разные элементы, каждый из которых имеет совершенно разные наборы свойств в зависимости от категории, к которой они принадлежат. Хотя эти свойства называются по-разному в зависимости от категории, есть несколько общих целей, которые могут быть общими / идентифицированы.
Итак, у меня есть таблица (свойства), которая определяет имя свойства для каждой комбинации цели / категории.
Характеристики
| Category | Purpose | Property_Name | Property_Data_Type |
|----------|---------|---------------|--------------------|
| car | name | model | string |
| car | brand | make | string |
| car | price | invoice | number |
| phone | name | product | string |
| phone | brand | manufacturer | string |
| phone | price | msrp | number |
|----------|---------|---------------|--------------------|
и у меня есть таблица (элементы), которая содержит информацию для каждого элемента в поле варианта
Предметы
| Item_Id | Category | Properties |
|---------|----------|------------------------------------------------------------------|
| 1 | car | {"make":"ford", "model":"focus", "invoice":18999} |
| 2 | car | {"make":"audi", "model":"a5", "invoice":36487} |
| 3 | phone | {"manufacturer":"apple", "product":"iphone 10", "msrp":679} |
| 4 | phone | {"manufacturer":"samsung", "product":"galaxy s20", "msrp":1029} |
|---------|----------|------------------------------------------------------------------|
Я хочу иметь возможность получить запрос (или процесс для заполнения другой таблицы), который извлекал бы значения из данных json на основе заданного назначения свойства. Итак, у меня был бы запрос, который мог бы дать следующие результаты
| Item_Id | Category | Name | Brand | Price |
|---------|----------|------------|---------|-------|
| 1 | car | focus | ford | 18999 |
| 2 | car | a5 | audi | 36487 |
| 3 | phone | iphone 10 | apple | 679 |
| 4 | phone | galaxy s20 | samsung | 1029 |
|---------|----------|------------|---------|-------|