公司培训类型题,高手帮忙解答

来源:百度知道 编辑:UC知道 时间:2024/05/04 15:26:20
SQL题
i) 在PB中用SQL语句描述:在现有业务系统数据库中查询出数据库中007单位重复的个人基本信息,以姓名、身份证号码、出生日期为校验重复标准(需要用到的表和字段资源:表-ac01,个人编号-aac001,姓名-aac003,身份证号码-aac002,出生年月-aac006)
ii) 某表如下
create table (
aac001 varchar2(15),
aae002 varchar2(6));
假设正常情况下,某人2005年12个月的记录为
aac001 aae002
‘0001’ ‘200501’
‘0001’ ‘200502’
‘0001’ ‘200503’
‘0001’ ‘200504’
‘0001’ ‘200505’
‘0001’ ‘200506’
‘0001’ ‘200507’
‘0001’ ‘200508’
‘0001’ ‘200509’
‘0001’ ‘200510’
‘0001’ ‘200511’
‘0001’ ‘200512’

现需从表中找出2005年6月有记录,且2005年只有10个月记录的人。请写出sql语句.
iii) 根据以下报表内容在PB中写出SQL语句的语法,并按照个人编号排序(说明:下表中出生年月格式为:YYYYMM,个人缴费记录条数为:个人应缴实缴明细表ic01中的条数;需要用到的表和字段资源:单位编号-aab001,单位名称-aab004,个人编号-aac001,姓名-aac003,出生年月-aac006,单位基本信息表-ab01,个人基本信息表-ac01,个人应缴实缴记录表-ic01,个人缴费标志-aae114)
单位编号 单位名称 个人编号 姓名 出生年月 个人缴费记录欠费条数(月数)

iv) 在PB中用SQL语句描述出001单位的最大和最小做帐期号

太多了了,我试试看
i
select distinct(aac001),distinct(aac003),distinct(aac002),distinct(aac006)
from ac01 group by aac001,aac002,aac003,aac006 having count(*)>1
2.
select * from table where aae002='200506' and aac001 in(select aac001 from table group by aac001 having count(*) =10)
3.没看明白
4.不知道你的单位字段是放在那个表里面的,也不知道两个表的关系
select max(ab08.aae002) as 最大做账期号,min(ab08.aae002) as 最小做账期号
from ab01,ab08 where ab01.单位=ab08.单位 and ab01.单位='001'
5.功能好像是将aac001字段全置为1,aac002字段全置为2
错误是不是没有写dw_1.settransobject(sqlca)

补充:
那个题的意思是说用存储过程来取数