求SQL语句,判断的(50分)

  • 主题发起人 主题发起人 hhjjhhjj
  • 开始时间 开始时间
H

hhjjhhjj

Unregistered / Unconfirmed
GUEST, unregistred user!
t1(主表)
mid name

t2(明细)
mid eid(明细id)
在一个存储过程里判断:
1:判断t1的每条记录都有2条或以上的分录?
2:判断t1的每条分录的分录id是否都是从0开始递增(1)的
 
1.不明白你的所指,mid如果是主键的话,怎么会存在两条相同的记录呢?
2.你是要判断一个真假值,还是什么的?如果是判断一个真假值,用游标做一个循环,将EID读入变量,用这个变量下一循环中的EID比较不就行了吗?(不知道是否你想要的)
 
1、查询少于两条的
select t1.mid,t.n from t1 left join (select mid,n=count(*) from t2 group by mid having count(*)<2) t on t1.mid=t.mid

2、查询t2中存在不正确编号的记录(由于mid应该是主键不允许重复,只要确保最小值是0,最大值+1=条目数就可以了)
select t2.* from t2 join (select mid,n=count(*),h=max(eid),l=min(eid) from t2 grouy by mid) t on t2.mid=t.mid where t.n<>t.h+1 or t.l<>0
 
这没有什么难度吗,自己写吧
 
我没有说清楚,
t1中的mid是不能重复的,t2中的主键是mid+eid
要判断一个真假值
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
859
SUNSTONE的Delphi笔记
S
S
回复
0
查看
785
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
926
SUNSTONE的Delphi笔记
S
后退
顶部