首页 新闻 会员 周边

SQL Server中一个SQL语句问题

0
悬赏园豆:10 [待解决问题]

(1)select gdRMJN_ZRZ from Project_SetGDRule_JN where ruleID='1802'显示原来的ZRZ

(2)select PJN_ZRZ,count(PJN_ZRZ) as Frequency from matchHistoryLog where MHL_matchState=1
and ruleID='1802' group by PJN_ZRZ 显示matchHistoryLog表中不同ZRZ出现的次数
 要实现在显示matchHistoryLog表中不同ZRZ出现的次数的同时,显示对应的原来的ZRZ,该怎么写?

(3)select b.gdRMJN_ZRZ as PJN_OldKEY,a.PJN_ZRZ as PJN_NEWKEY,count(PJN_ZRZ) as Frequency from matchHistoryLog as a join Project_SetGDRule_JN as b on a.ruleID=b.ruleID and a.ruleID='1802'  
and MHL_matchState=1 group by a.PJN_ZRZ,b.gdRMJN_ZRZ 计算的频度与(2)不同,求解释。

sql
niesen111的主页 niesen111 | 初学一级 | 园豆:0
提问于:2011-12-13 18:52
< >
分享
所有回答(1)
0
这两个sql语句不是一样的啊,如果你想一些样的结果的话就要保证:matchHistoryLog中的PJN_ZRZ 与Project_SetGDRule_JN 中的dRMJN_ZRZ  相对于ruleID 是一样分布的。我不知道我的意思里理解力不?
你可以执行下面的语句看看是不是存在记录,这些存在的记录就是导致他们不相同的原因。
select b.gdRMJN_ZRZ as PJN_OldKEY,a.PJN_ZRZ as PJN_NEWKEY from matchHistoryLog as a join Project_SetGDRule_JN as b on a.ruleID=b.ruleID and a.ruleID='1802'  and MHL_matchState=1 where b.gdRMJN_ZRZ <>  a.PJN_ZRZ 


 

小小刀 | 园豆:1991 (小虾三级) | 2011-12-13 23:28

上面的描述是正确的,但是sql语句是错误的。

这个sql语句不好说明问题,我举一个例子:

matchHistoryLog :

ruleID              PJN_ZRZ

1                    1

2                    1

3                    2

 Project_SetGDRule_JN :

ruleID              gdRMJN_ZRZ

1                    2

2                    2

3                    1

想这样的数据,你连接的时候结果是不一样的

支持(0) 反对(0) 小小刀 | 园豆:1991 (小虾三级) | 2011-12-14 08:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册