关于数据库习题,用SQL语言实现

表结构1.表名:cardapply字段(字段名/类型/长度):applynovarchar8;//申请单号(关键字)applydatebigint8;//申请日期stat... 表结构
1.表名:cardapply
字段(字段名/类型/长度):
applyno varchar 8;//申请单号(关键字)
applydate bigint 8;//申请日期
state varchar 2;//申请状态
2.表名:cardapplydetail
字段(字段名/类型/长度):
applyno varchar 8;//申请单号(关键字)
name varchar 30;//申请人姓名
idcard varchar 18;//申请人身份证号码
state varchar 2;//申请状态
其中,两个表的关系字段为申请单号

1、查询身份证号码为1234567812342的申请日期
2、查询同一个身份证号码有两条以上申请记录的身份证号码及记录个数
3、讲身份证号码为401234567812的记录在两个表中的申请状态均改为3
4、删除cardapplydetail表中的所有姓王的记录

求解答~~谢谢
展开
 我来答
wubg66
2012-06-16 · 超过16用户采纳过TA的回答
知道答主
回答量:70
采纳率:0%
帮助的人:50.1万
展开全部
1.select applydate from cardapply c left join cardapplydetail cd on c.applyno=cd.aaplyno
where idcard = '1234567812342'
2.select count(*),idcard from cardapply c left join cardapplydetail cd on c.applyno=cd.aaplyno
where idcard in (select idcard from cardapplydetail where (select count(idcard) from cardapplydetail group by idcard )>1)(这个不太确定,没试验,手写的)
3.update cardapply c set c.state='3',cd.state='3' left join cardapplydetail cd on c.applyno=cd.aaplyno where idcard='401234567812'
4.delete from cardapplydetail where name like '王%'
手打的,没有试验正确性。不对的再来探讨一下
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式