Я довольно новичок в mySql. Я работаю над проектом, в котором я хочу провести оценку экономической эффективности определенных товаров в python. Для моих первых попыток я держал свои данные в csv-файле. Теперь я хочу перейти к надежному решению для баз данных и решил, что буду использовать mySql.
Дада состоит, например, из следующих столбцов
id, GoodName, GoodWeightRaw, GoodWeightProcessed, RawMaterial, SellingPrice.
«Проблема» в том, что есть простые товары и комбинированные товары.
Скажи:
id 1 - медь
id 2 - пластик
Где-то внизу у нас может быть
id 50 - медный кабель
Медные кабели изготавливаются из меди и пластика - поэтому RawMaterial из id50 будет товаром id1 и id2. Кроме того, RawWeight медных кабелей - это предполагаемый вес меди + обработанный вес пластмасс.
В файле csv, который я использую на данный момент, все значения были «жестко запрограммированы», и если некоторые значения базовых материалов изменятся, мне придется посмотреть, в каких комбинированных товарах они используются, и вручную изменить значения соответственно.
Интересно, есть ли в sql способ автоматически вычислять значения в строке из значений в другой строке, а также обновлять их каждый раз при изменении других строк.
Пока я пытался:
Сначала я подумал, что мог бы создать две таблицы для основных и комбинированных товаров, однако комбинированные товары все равно сами не обновятся.
Я обнаружил, что я могу создавать строки таблицы из операторов SELECT и таким образом создавать комбинированные товары из комбинации основных товаров. Однако эти строки также являются «постоянными» после создания, и их все равно придется обновлять вручную.
Итак, существует ли чистый SQL-метод для строк, созданных из других строк и затем соответствующим образом обновленных при изменении коррелирующих строк?