求SQL

Don_Juan 2008-04-09 02:47:14
表1:SF_Enroll_Info:
CREATE TABLE [SF_Enroll_Info] (
[recordID] [int] NOT NULL CONSTRAINT [DF_SF_Enroll_Info_recordID] DEFAULT (1),
[recordSource] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[personnelID] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[name] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[department] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[personType] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[cardNO] [decimal](10, 0) NULL ,
[operator] [nvarchar] (24) COLLATE Chinese_PRC_CI_AS NULL ,
[state] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[operatorCode] [nvarchar] (32) COLLATE Chinese_PRC_CI_AS NULL ,
[acceptDate] [datetime] NULL ,
[limit] [bit] NULL CONSTRAINT [DF_SF_Enroll_Info_limit] DEFAULT (0),
CONSTRAINT [PK_SF_Enroll_Info] PRIMARY KEY CLUSTERED
(
[recordID]
) ON [PRIMARY] ,
CONSTRAINT [Enroll_Info_Unique] UNIQUE NONCLUSTERED
(
[personnelID]
) ON [PRIMARY]
) ON [PRIMARY]
GO



1 指纹 0374 钱懋亭 区政府办公室 在编人员 0 系统管理员 正常 9999 2008-03-25 1
2 指纹 0227 李明华 区人大办公室及各工委 在编人员 0 系统管理员 正常 9999 2008-03-25 1
3 指纹 0235 丁立平 区人大办公室及各工委 在编人员 0 系统管理员 正常 9999 2008-03-25 1
4 指纹 0090 李贵华 区司法局 其他人员 0 系统管理员 正常 9999 2008-03-25 1
5 指纹 0081 张小平 区司法局 其他人员 0 系统管理员 正常 9999 2008-03-25 1
6 指纹 0083 冯国庆 区司法局 其他人员 0 系统管理员 正常 9999 2008-03-25 1
7 指纹 0076 王吉军 区司法局 其他人员 0 系统管理员 正常 9999 2008-03-25 1
8 指纹 0157 俞锦萍 区妇联 在编人员 0 系统管理员 正常 9999 2008-03-25 1
9 指纹 0283 吴建清 区政府办公室 在编人员 0 系统管理员 正常 9999 2008-03-25 1
10 指纹 0082 赵敏艳 区司法局 其他人员 0 系统管理员 正常 9999 2008-03-25 1
11 指纹 0475 张晓华 区司法局 其他人员 0 系统管理员 正常 9999 2008-03-25 1
12 指纹 0196 徐爱华 区经济贸易局 在编人员 0 系统管理员 正常 9999 2008-03-25 1
13 指纹 0093 周游 区政府办公室 其他人员 0 系统管理员 正常 9999 2008-03-25 1
14 指纹 0379 马兴根 区政府办公室 在编人员 0 系统管理员 正常 9999 2008-03-25 1
15 指纹 0095 张廷涛 区政府办公室 其他人员 0 系统管理员 正常 9999 2008-03-25 1
16 指纹 0197 常丽娟 区经济贸易局 在编人员 0 系统管理员 正常 9999 2008-03-25 1
17 指纹 0094 王运 区政府办公室 其他人员 0 系统管理员 正常 9999 2008-03-25 1
18 指纹 0216 王久平 区经济贸易局 在编人员 0 系统管理员 正常 9999 2008-03-25 1
19 指纹 0195 张亚娟 区经济贸易局 在编人员 0 系统管理员 正常 9999 2008-03-25 1
20 指纹 0222 陈明 区经济贸易局 在编人员 0 系统管理员 正常 9999 2008-03-25 1
21 指纹 0158 焦元弘 区妇联 在编人员 0 系统管理员 正常 9999 2008-03-25 1
22 指纹 0214 魏建华 区经济贸易局 在编人员 0 系统管理员 正常 9999 2008-03-25 1
23 指纹 0223 陈芳芳 区经济贸易局 在编人员 0 系统管理员 正常 9999 2008-03-25 1
24 指纹 0225 吴连庆 区经济贸易局 在编人员 0 系统管理员 正常 9999 2008-03-25 1
25 指纹 0332 郁骏毅 区政府办公室 在编人员 0 系统管理员 正常 9999 2008-03-25 1
26 指纹 0198 王琦 区经济贸易局 在编人员 0 系统管理员 正常 9999 2008-03-25 1
27 指纹 0176 肖运根 科技局 在编人员 0 系统管理员 正常 9999 2008-03-25 1
28 指纹 0077 徐雷 区司法局 其他人员 0 系统管理员 正常 9999 2008-03-25 1
29 指纹 0265 严存宏 区人事和劳动局 在编人员 0 系统管理员 正常 9999 2008-03-25 1


表2:CREATE TABLE [SF_Balance] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[empID] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[personBalance] [decimal](8, 2) NULL CONSTRAINT [DF_SF_Balance_personBalance] DEFAULT (0),
[govBalance] [decimal](8, 2) NULL CONSTRAINT [DF_SF_Balance_govBalance] DEFAULT (0),
[recordTime] [datetime] NULL ,
CONSTRAINT [PK__SF_Balance__46B27FE2] PRIMARY KEY CLUSTERED
(
[id]
) ON [PRIMARY] ,
CONSTRAINT [uni_Balance] UNIQUE NONCLUSTERED
(
[empID]
) ON [PRIMARY]
) ON [PRIMARY]
GO


3524 0269 30 226 2008-04-08 14:48:31
3525 0285 46 214 2008-04-08 14:48:28
3526 0294 118 171 2008-04-08 14:48:28
3527 0419 100 207 2008-04-08 14:48:27
3528 0280 74 181 2008-04-08 12:05:02
3529 0279 86 230 2008-04-08 14:48:27
3530 0277 81 187 2008-04-08 12:05:00
3531 0267 80 171 2008-04-08 14:48:26
3532 0233 70 215 2008-04-08 11:40:53
3533 0250 92 204 2008-04-08 14:48:28
3534 0253 116 181 2008-04-08 11:38:30
3535 0251 131 207 2008-04-08 11:37:30
3536 0254 62 181 2008-04-08 11:41:41
3537 0249 51 203 2008-04-08 11:30:07
3538 0247 81 181 2008-04-08 11:48:45
3539 0230 68 188 2008-04-08 11:36:52
3540 0252 93 210 2008-04-08 11:52:07
3541 0227 81 174 2008-04-08 14:48:25
3542 0235 47 197 2008-04-08 14:48:25
3543 0248 137 205 2008-04-08 14:48:28
3544 0232 165 174 2008-04-08 11:54:10
3545 0226 160 181 2008-04-08 14:48:26
3546 0246 36 190 2008-04-08 11:48:25
3547 0231 51 177 2008-04-08 14:48:26
3548 0237 105 201 2008-04-08 11:49:14
3549 0255 82 171 2008-04-08 14:48:30
3550 0234 33 199 2008-04-08 11:47:14
3551 0386 88 193 2008-04-08 14:48:31
3552 0387 27 211 2008-04-08 11:59:34
3553 0329 163 218 2008-04-08 11:59:28
3554 0456 177 205 2008-04-08 12:09:16
3555 0389 33 211 2008-04-08 14:48:26
3556 0351 94 183 2008-04-08 12:13:41
3557 0383 38 224 2008-04-08 14:48:28
3558 0373 87 171 2008-04-08 14:48:29
3559 0385 89 190 2008-04-08 14:48:27
3560 0451 84 183 2008-04-08 14:48:26
3561 0375 12 178 2008-04-08 11:35:04
3562 0382 80 204 2008-04-08 11:41:56
3563 0374 74 178 2008-04-08 11:41:56
3564 0450 31 185 2008-04-08 14:48:26
3565 0328 91 200 2008-04-08 11:37:03
3566 0381 82 174 2008-04-08 11:50:48
3567 0445 110 201 2008-04-08 11:47:03
3568 0437 70 179 2008-04-08 14:48:26
3569 0441 98 231 2008-04-08 14:48:26
3570 0449 91 196 2008-04-08 14:48:29
3571 0439 91 215 2008-04-08 14:48:26
3572 0443 99 238 2008-04-08 14:48:29
3573 0448 85 204 2008-04-08 14:48:26
3574 0444 106 196 2008-04-08 11:35:26
3575 0446 183 202 2008-04-08 14:48:29
3576 0183 88 189 2008-04-08 14:48:28
3577 0186 87 204 2008-04-08 14:48:28
3578 0180 95 185 2008-04-08 11:43:31
3579 0188 36 201 2008-04-08 11:59:20
3580 0179 81 171 2008-04-08 14:48:28
3581 0181 79 171 2008-04-08 11:47:06
3582 0313 48 204 2008-04-08 12:05:03
3583 0297 182 180 2008-04-08 11:58:37
...全文
127 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
Don_Juan 2008-04-09
  • 打赏
  • 举报
回复
to:爱新觉罗.毓华
不行呀,在数据库里用了9134MS

update SF_Enroll_Info set limit=0;
update SF_Enroll_Info set limit=1 where recordID in (select p.EnrollNumber from SF_Personnel p inner join SF_Balance b on p.code=b.empID where b.personBalance>=1 and p.Type_People='在编人员');
update SF_Enroll_Info set limit=1 where recordID in(select p.EnrollNumber from SF_Personnel p inner join SF_Balance b on p.code=b.empID where b.personBalance>=4 and p.Type_People='其他人员');

怎么这三句才用 7217MS呀
Don_Juan 2008-04-09
  • 打赏
  • 举报
回复
(
(m.personType='在编人员' and n.personBalance >= 1) or
(m.personType='其他人员' and n.personBalance >= 8) or
(m.personType='家属' and n.personBalance >= 5)) 这样判断不会太慢吧1500条记录 关键6S能搞定吗?
asdftest1 2008-04-09
  • 打赏
  • 举报
回复
看看这里吧!
dawugui 2008-04-09
  • 打赏
  • 举报
回复
--这样?
update personType set limit = 0
from SF_Enroll_Info m , SF_Balance n
where m.personnelID = n.empid and m.limit = 1 and (
(m.personType='在编人员' and n.personBalance >= 1) or
(m.personType='其他人员' and n.personBalance >= 8) or
(m.personType='家属' and n.personBalance >= 5))
Don_Juan 2008-04-09
  • 打赏
  • 举报
回复
是更新limit呀
SF_Balance empID=personID
hery2002 2008-04-09
  • 打赏
  • 举报
回复
楼上已经回答了,
LZ说的完成是查询出来?还是什么,1.5K数据量应该不是问题啊。
完全出的来啥。
dawugui 2008-04-09
  • 打赏
  • 举报
回复
--具体的用ID,还是EMPID连接?
select m.* , n.* from SF_Enroll_Info m , SF_Balance n
where m.personnelID = n.empid and m.limit = 1 and (
(m.personType='在编人员' and n.personBalance >= 1) or
(m.personType='其他人员' and n.personBalance >= 8) or
(m.personType='家属' and n.personBalance >= 5))
dawugui 2008-04-09
  • 打赏
  • 举报
回复
select m.* , n.* from SF_Enroll_Info m , SF_Balance n
where m.personnelID = n.id and m.limit = 1 and (
(m.personType='在编人员' and n.personBalance >= 1) or
(m.personType='其他人员' and n.personBalance >= 8) or
(m.personType='家属' and n.personBalance >= 5))
Don_Juan 2008-04-09
  • 打赏
  • 举报
回复
要求:
SF_Enroll_Info 中personType='在编人员' SF_Balance 中的 personBalance>=1 的 SF_Enroll_Info 中的limit=1

SF_Enroll_Info 中personType='其他人员' SF_Balance 中的 personBalance>=8 的 SF_Enroll_Info 中的limit=1

SF_Enroll_Info 中personType='家属' SF_Balance 中的 personBalance>=5 的 SF_Enroll_Info 中的limit=1

其他的limit都为0
两个表各有1500条左右记录
语句算上网络延迟也要求在6S内完成。(环境还算好,局域网)
高手们有绝招的全招呼出来吧
Don_Juan 2008-04-09
  • 打赏
  • 举报
回复
要求:
SF_Enroll_Info 中personType='在编人员' SF_Balance 中的 personBalance>=1 的 SF_Enroll_Info 中的limit=1

SF_Enroll_Info 中personType='其他人员' SF_Balance 中的 personBalance>=8 的 SF_Enroll_Info 中的limit=1

SF_Enroll_Info 中personType='家属' SF_Balance 中的 personBalance>=5 的 SF_Enroll_Info 中的limit=1

其他的limit都为0
两个表各有1500条左右记录
语句算上网络延迟也要求在6S内完成。(环境还算好,局域网)
高手们有绝招的全招呼出来吧
Don_Juan 2008-04-09
  • 打赏
  • 举报
回复
要求:
SF_Enroll_Info 中personType='在编人员' SF_Balance 中的 personBalance>=1 的 SF_Enroll_Info 中的limit=1

SF_Enroll_Info 中personType='其他人员' SF_Balance 中的 personBalance>=8 的 SF_Enroll_Info 中的limit=1

SF_Enroll_Info 中personType='家属' SF_Balance 中的 personBalance>=5 的 SF_Enroll_Info 中的limit=1

其他的limit都为0
两个表各有1500条左右记录
语句算上网络延迟也要求在6S内完成。(环境还算好,局域网)
高手们有绝招的全招呼出来吧
chenxin2835 2008-04-09
  • 打赏
  • 举报
回复
崩溃ING
正宗老冉 2008-04-09
  • 打赏
  • 举报
回复
到底求的是什么SQL呢?

我得先猜!
Don_Juan 2008-04-09
  • 打赏
  • 举报
回复
不是的,太长了,发不出去。有点惭愧,分不够多!
Don_Juan 2008-04-09
  • 打赏
  • 举报
回复
要求:
SF_Enroll_Info 中personType='在编人员' SF_Balance 中的 personBalance>=1 的 SF_Enroll_Info 中的limit=1

SF_Enroll_Info 中personType='其他人员' SF_Balance 中的 personBalance>=8 的 SF_Enroll_Info 中的limit=1

SF_Enroll_Info 中personType='家属' SF_Balance 中的 personBalance>=5 的 SF_Enroll_Info 中的limit=1

其他的limit都为0
两个表各有1500条左右记录
语句算上网络延迟也要求在6S内完成。(环境还算好,局域网)
高手们有绝招的全招呼出来吧
wlinglong 2008-04-09
  • 打赏
  • 举报
回复
没问题 只有表结构 ??? 难道是SELECT * FROM TAB? ^_^
fuda_1985 2008-04-09
  • 打赏
  • 举报
回复
看不明白,帮顶吧!
liangCK 2008-04-09
  • 打赏
  • 举报
回复
好长好复杂..帮顶.
wzy_love_sly 2008-04-09
  • 打赏
  • 举报
回复
问题什么?

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧