回 帖 发 新 帖 刷新版面

主题:[讨论]大家看看我写的sql语句有没有问题?

SQL问答题

  表结构:

  1、 表名:g_cardapply

  字段(字段名/类型/长度):

  g_applyno varchar 8;//申请单号(关键字)

  g_applydate bigint 8;//申请日期

  g_state varchar 2;//申请状态

  2、 表名:g_cardapplydetail

  字段(字段名/类型/长度):

  g_applyno varchar 8;//申请单号(关键字)

  g_name varchar 30;//申请人姓名

  g_idcard varchar 18;//申请人身份证号

  g_state varchar 2;//申请状态

  其中,两个表的关联字段为申请单号。

  题目:

  1、 查询身份证号码为440401430103082的申请日期

  2、 查询同一个身份证号码有两条以上记录的身份证号码及记录个数

  3、 将身份证号码为440401430103082的记录在两个表中的申请状态均改为07

  4、 删除g_cardapplydetail表中所有姓李的记录
我的答案:
1.select g_applydate from g_cardapply,g_cardapplydetail where g_cardapplydetail.g_applyno=g_cardapply.g_applyno and 

g_idcard='440401430103082';

2.select g_idcard,count(g_idcard) from g_cardapplydetail group by g_idcard having count(g_idcard)>2;

3.update g_cardapplydetail set g_state='07' where g_idcard='440401430103082';
update 440401430103082 set g_state='07' where g_applyno in(select g_applyno from g_cardapply where 
g_idcard='440401430103082');

4.delete from g_cardapplydetail where g_name like '李%';
有错误的地方请赐教!

回复列表 (共1个回复)

沙发

大致上没问题,不过第三题的表名好像写错了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册