我有个工资临时表,为方便统计将工资年月分两个字段tmpgzb如下:
姓名(xm) 工资(gz) 年份(LF) 月份(YF)
aaa 1000 2002 12
bbb 987 2002 12
ccc 1388 2002 12
aaa 0 2003 1
bbb 0 2003 1
ccc 0 2003 1
-----------------------------------------------------------
现在想通过一条update语句实现临时表tmpgzb如下:
姓名(xm) 工资(gz) 年份(LF) 月份(YF)
aaa 1000 2002 12
bbb 987 2002 12
ccc 1388 2002 12
aaa 1000 2003 1
bbb 987 2003 1
ccc 1388 2003 1望高手们发言。
姓名(xm) 工资(gz) 年份(LF) 月份(YF)
aaa 1000 2002 12
bbb 987 2002 12
ccc 1388 2002 12
aaa 0 2003 1
bbb 0 2003 1
ccc 0 2003 1
-----------------------------------------------------------
现在想通过一条update语句实现临时表tmpgzb如下:
姓名(xm) 工资(gz) 年份(LF) 月份(YF)
aaa 1000 2002 12
bbb 987 2002 12
ccc 1388 2002 12
aaa 1000 2003 1
bbb 987 2003 1
ccc 1388 2003 1望高手们发言。
解决方案 »
- 端午节,大家快乐
- 有1000多个客户端的三层架构,中间层采用什么中间件连接好?(SocketConnection和Web Service等)
- 那位兄弟有摩托罗拉L6G的驱动和软件光盘?谢谢
- 类型转换问题?内详!!!来看看啊
- 怎么实现 CTRL+ALT+del中的"锁定计算机"功能?
- 高手进来救命啊。怎么判断一个对象是否存在?
- 用RAVE怎样打印表格
- interBase数据库的问题!!!
- 在用语句删除表中的记录时,错误提示是"Token not found",请问大侠如何解决?谢谢
- 关于访问 fpt: 下载的问题。谢谢!!
- 我知道了www.csdn.net这个网站,如果快速获取他的Ip地址,我要求一定要快。
- 未升级,散分!
一条?没试过。我试试?
你试试看。
SET gz = b.gz
FROM (SELECT *
FROM tmpgzb
WHERE yf = 12) AS b
WHERE (tmpgzb.yf = 1) AND (tmpgzb.lf = 2003) AND (tmpgzb.xm = b.xm)特别说明字段xm char
gz int
lf int
yf int
数据库sql server 2000
测试通过,不通数据库自己想吧
UPDATE tmpgzb
SET gz = b.gz
FROM (SELECT *
FROM tmpgzb
WHERE lf = 2002 and yf = 12) AS b
WHERE (tmpgzb.yf = 1) AND (tmpgzb.lf = 2003) AND (tmpgzb.xm = b.xm)特别说明字段xm char
gz int
lf int
yf int
数据库sql server 2000
测试通过,不通数据库自己想吧
哥们,太简单了吧,,,你用and把你想要的条件都连起来啊,,恕我直言好好学学sql吧,要不加个id减去不必要的麻烦.
update tmpgzb set gz=(select distinct gz from tmpgzb b where b.xm=xm and b.lf=2002 and b.yf=12) where lf=2003 and lf=1