Вычисленное значение в другом столбце

#mysql #sql #phpmyadmin

#mysql #sql #phpmyadmin

Вопрос:

У меня есть таблица с 4 столбцами, которые необходимо вычислить, чтобы получить среднее значение. Я знаю, как получить среднее значение. Что я не знаю, как сделать, так это получить, чтобы это значение отображалось в другом столбце в другой таблице. Как мне это сделать?

Пример:

 Columns:   ID Size1 Size2 Size3 Size4 
Values:    1  92    82     63    83  
 

Я знаю, как получить среднее значение из этого, но мне нужно знать, как столбец в другой таблице может ссылаться на это среднее значение. Я использую phpMyAdmin

Комментарии:

1. вам нужно использовать join оператор. Показать другую схему таблицы.

2. Вы имеете в виду результат в запросе или для обновления столбца? Пожалуйста, измените вопрос, чтобы уточнить желаемые результаты.

3. Я имею в виду обновить столбец. Если столбец Size равен null, результат также будет null в столбце, на который я хочу, чтобы значение ссылалось.

Ответ №1:

В комментариях указано, что если вам просто нужно это как результат запроса, подойдет соединение.

 Select t1.ID,t2.ID,(T1.Size1   T1.Size2   T1.Size3   T1.Size4) / 4 as Avg
From t1 join t2 on t1.ID = t2.ID;
 

Предполагается, что T1 — это первая таблица (имеет размеры), а T2 — вторая таблица, в которой у вас есть другие значения, к которым вы хотите добавить среднее значение.

Теперь давайте предположим, что вы хотите, чтобы столбец avg в другой таблице был привязан к строкам в вашей таблице T1 (размеры). Для этого вы можете использовать триггер.

     CREATE TRIGGER AvgValues
ON T1
AFTER INSERT
AS
BEGIN
  INSERT INTO T2(Avg)
     SELECT (T1.Size1   T1.Size2   T1.Size3   T1.Size4) / 4
     FROM T1
     WHERE T1.ID = T2.ID
END