У меня есть веб-страница, которая рассчитывает общую оценку 3 месяца после 3 месяцев.Но оценки находятся в разных областях.Поэтому мне нужно получить значения из разных таблиц, имеющих одно и то же поле.Я использовал следующий запрос.Может кто-нибудь исправить этот запрос, потому что с этим запросом он загружает значение целых месяцев, а не 3-месячное значение.Но когда я выбираю из одной таблицы, она загружается правильно
select empid,name,total1 from ((select *,sum(total)as total1
from formresult5 GROUP by empid) UNION (SELECT *,sum(total)as total1
FROM formresult4 GROUP by empid) UNION (SELECT *,sum(total)as total1
FROM formresult3 GROUP by empid) UNION (SELECT *,sum(total)as total1
FROM formresult2 GROUP by empid) UNION (select *,sum(total)as total1
FROM formresult GROUP by empid)) result
WHERE date BETWEEN DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 3 MONTH), '%Y-%m-01')
AND LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
AND branch='$branch' ORDER by total1 desc
У меня есть 6 таблиц для хранения результатов оценки 6 категорийных сотрудников.там empid (идентификатор сотрудника), имя, сумма - это одно и то же поле для всей таблицы, и мне нужно выбрать те же столбцы, а сумма (общая) означает сумму общей суммы за предыдущие три месяца. Теперь я изменил свой код на
select empid,name,total1 from ((select *,sum(total)as total1 from formresult6 WHERE date BETWEEN DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 3 MONTH), '%Y-%m-01') AND LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) GROUP by empid)
UNION
(select *,sum(total)as total1 from formresult5 WHERE date BETWEEN DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 3 MONTH), '%Y-%m-01') AND LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) GROUP by empid)
UNION
(SELECT *,sum(total)as total1 FROM formresult4 WHERE date BETWEEN DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 3 MONTH), '%Y-%m-01') AND LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) GROUP by empid)
UNION
(SELECT *,sum(total)as total1 FROM formresult3 WHERE date BETWEEN DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 3 MONTH), '%Y-%m-01') AND LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) GROUP by empid)
UNION
(SELECT *,sum(total)as total1 FROM formresult2 WHERE date BETWEEN DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 3 MONTH), '%Y-%m-01') AND LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) GROUP by empid)
UNION
(select *,sum(total)as total1 from formresult WHERE date BETWEEN DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 3 MONTH), '%Y-%m-01') AND LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) GROUP by empid)) result
where branch='$branch'
ORDER by total1 desc
В этом коде моя страница работала правильно, при выполнении этого кода в phpmyadmin отображается «Текущий выбор не содержит уникального столбца. Функции редактирования сетки, флажки, Редактировать, Копировать и Удалить недоступны».Я беспокоюсь, что это предупреждение повлияет на выполнение моего кода на моей веб-странице. Может ли кто-нибудь помочь мне