求MySQL语句写法
时间:2011-08-03
来源:互联网
这个是建2个表的语句,一个是人员表,一个职位表,求出职位空缺数,写到职位表的SPACE里
SQL code
第二个表
SQL code
这个是我写的执行语句,没有效果。。
SQL code
SQL code
INSERT INTO job_message (`position_id`, `position_name`, `total`, `level`, `space`, `department`, `department_id`, `detail`, `found_date`, `del`) VALUES (9, 'a', 20, '', 20, 'x', 1, '', '2011-08-03 09:42:26', 1); INSERT INTO job_message (`position_id`, `position_name`, `total`, `level`, `space`, `department`, `department_id`, `detail`, `found_date`, `del`) VALUES (10, 'xx', 12, '', 12, 'y', 2, '', '2011-08-03 09:44:26', 1); INSERT INTO job_message (`position_id`, `position_name`, `total`, `level`, `space`, `department`, `department_id`, `detail`, `found_date`, `del`) VALUES (11, '4部1分', 2, '', 2, '4部', 4, '', '2011-08-03 11:56:34', 1);
第二个表
SQL code
INSERT INTO employee_info (`user_id`, `password`, `name`, `sex`, `department`, `position_id`, `position`, `office_number`, `mail`, `birthday`, `ismarry`, `telephone`, `postcode`, `address`, `id_card`, `found_date`, `del`, `budget`, `submit`, `sys`, `formInfo`) VALUES (58, '', '', NULL, 'y', 10, 'xx', '', '', '', NULL, '', '', '', '', '2011-08-03 09:44:38', 1, NULL, NULL, NULL, NULL); INSERT INTO employee_info (`user_id`, `password`, `name`, `sex`, `department`, `position_id`, `position`, `office_number`, `mail`, `birthday`, `ismarry`, `telephone`, `postcode`, `address`, `id_card`, `found_date`, `del`, `budget`, `submit`, `sys`, `formInfo`) VALUES (59, '', '', NULL, 'y', 10, 'xx', '', '', '', NULL, '', '', '', '', '2011-08-03 09:45:01', 1, NULL, NULL, NULL, NULL); INSERT INTO employee_info (`user_id`, `password`, `name`, `sex`, `department`, `position_id`, `position`, `office_number`, `mail`, `birthday`, `ismarry`, `telephone`, `postcode`, `address`, `id_card`, `found_date`, `del`, `budget`, `submit`, `sys`, `formInfo`) VALUES (60, '', '', NULL, 'y', 10, 'xx', '', '', '', NULL, '', '', '', '', '2011-08-03 09:45:24', 1, NULL, NULL, NULL, NULL); INSERT INTO employee_info (`user_id`, `password`, `name`, `sex`, `department`, `position_id`, `position`, `office_number`, `mail`, `birthday`, `ismarry`, `telephone`, `postcode`, `address`, `id_card`, `found_date`, `del`, `budget`, `submit`, `sys`, `formInfo`) VALUES (65, '', '', NULL, 'x', 9, 'a', '', '', '', NULL, '', '', '', '', '2011-08-03 10:48:55', 1, NULL, NULL, NULL, NULL);
这个是我写的执行语句,没有效果。。
SQL code
update job_message,employee_info, ( select count(employee_info.position_id) as employeed ,position_name from employee_info right join job_message on job_message.position_id = employee_info.position_id where job_message.del=1 and job_message.del=1 group by employee_info.position_id ) as p set job_message.space=job_message.total-case when p.employeed is null then 0 else p.employeed end where job_message.position_id = employee_info.position_id and job_message.del=1;
作者: sxzaihua2 发布时间: 2011-08-03
分步来吧 一步步看结果
作者: rucypli 发布时间: 2011-08-03
有空值,group by 排序有问题,我加了个ORDER BY 之后结果有变化了,但是第二条数据和第一条变化一样。
SQL code
SQL code
update job_message,employee_info, ( select count(employee_info.position_id) as employeed ,position_name from employee_info right join job_message on job_message.position_id = employee_info.position_id where job_message.del=1 and job_message.del=1 group by employee_info.position_id order by isnull(employee_info.position_id) ,employee_info.position_id ) as p set job_message.space=job_message.total-(case when p.employeed is null then 0 else p.employeed end ) where job_message.position_id = employee_info.position_id and job_message.del=1;
作者: sxzaihua2 发布时间: 2011-08-03
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28