求一条SQL语句车间工资表:
员工编号 工龄奖
零工表:
员工编号 工龄奖
1001 20
1002 10
工序表:
员工编号 工龄奖
1001 21
1003 5
我想把零工表和工序表的对应员工编号的工龄奖汇总插入到车间工资表里,不知如何写?
员工编号 工龄奖
零工表:
员工编号 工龄奖
1001 20
1002 10
工序表:
员工编号 工龄奖
1001 21
1003 5
我想把零工表和工序表的对应员工编号的工龄奖汇总插入到车间工资表里,不知如何写?
解决方案 »
- sql2005压缩数据库文件出错!!
- 临时表问题,大家速度帮忙解决,非常感谢
- 请问sql server2005可以和2000装在同一台电脑上吗?
- SQL2005 CPU资源占用几乎100%是什么原因
- 这个SQL,怎么写>?
- 我在看数据库优化方面的书,提到一点,我不太明白,想请教~~
- 新瓶装旧酒: T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响
- 如何将SQL SEVER 的数据表连字段的属性也导入到ACCESS中呢,急....
- 关于数据更新同步的问题!
- 现在开始学vfp还有用吗
- 怎样把做横列汇总报表?
- 达人帮我,我急死了,谢谢大家了,谢谢了,在线等
select 零工表.员工编号,零工表.工龄奖+工序表.工龄奖 as 工龄奖 where 零工表.员工编号=工序表.员工编号
(员工编号, 工龄奖)
SELECT 零工表.员工编号, 零工表.工龄奖 + 工序表.工龄奖 AS 工龄奖
FROM 零工表 INNER JOIN
工序表 ON 零工表.员工编号 = 工序表.员工编号
--车间工资表
DECLARE @T3 TABLE(员工编号 INT,工龄奖 INT)
--零工表
DECLARE @T TABLE(员工编号 INT,工龄奖 INT)
INSERT @T SELECT 1001,20
UNION ALL SELECT 1002,10
--工序表
DECLARE @T1 TABLE(员工编号 INT,工龄奖 INT)
INSERT @T1 SELECT 1001,21
UNION ALL SELECT 1003,5
--插入语句
INSERT @T3(员工编号,工龄奖)
SELECT 员工编号,SUM(工龄奖) AS 工龄奖
FROM
(
SELECT * FROM @T
UNION ALL
SELECT * FROM @T1) A
GROUP BY 员工编号
--------
另一种方法用FULL JOIN
select 员工编号,工龄奖
from
(select 员工编号,工龄奖 from 零工表 union all
select 员工编号,工龄奖 from 功序表
)
再DISTINCT试试
SELECT isnull(a.员工编号,b.员工编号) as 员工编号,isnull(a.工龄奖,0)+isnull(b.工龄奖,0) AS 工龄奖
FROM 零工表 a
full join 工序表 b
on a.员工编号=b.员工编号
SELECT isnull(a.员工编号,b.员工编号) as 员工编号,isnull(a.工龄奖,0)+isnull(b.工龄奖,0) AS 工龄奖
FROM 零工表 a
full join 工序表 b
on a.员工编号=b.员工编号
楼主没有测试过吗
SELECT 员工编号 AS 员工编号, SUM(工龄奖) AS 工龄奖
FROM
(
SELECT 员工编号, 工龄奖 FROM 零工表
UNION ALL
SELECT 员工编号, 工龄奖 FROM 功序表
)
GROUP BY 员工编号另外,如果 车间工资表 里已经有记录了,那么直接插入有可能会出现重名记录.