我有一个网页,计算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(员工ID),名称,总数是所有表的相同字段,我需要获取相同的列,总和(总数)表示前三个月总分的总和 现在我已将我的代码编辑为
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中执行此代码时,它显示"当前选择不包含唯一列。网格编辑,复选框,编辑,复制和删除功能不可用。"我担心这个警告会影响我在网页中的代码执行 任何人都可以帮助我
答案 0 :(得分:0)
你没有展示你如何使用/定义$ branch - 如果你这样离开它,那么除非你有" $ branch"在您的数据中,您不会看到任何内容。