#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