我该如何做这个SQL查询?
问题描述:
- 员工表(ENO,FName参数,LNAME,出生日期,告诉,地址,工资,PNO,BNO)
//客户表表示关于客户端
所有数据// CID是客户端的数目
- 表客户(CID,FName参数,LName的,地址,告诉,Cbalance,...)
//机芯表代表所有任务的客户端可以做 // MID是运动的数量// M_type是任务的类型
- 表运动(MID,M_type)// M_type作为存入,回抽.....
//工作表是STOR从任何客户端的所有活动做
- 工作表(WID,CID,C_value,MID,DOBmovement,伊诺)
我怎么能:
制作查询检索有关谁曾担任该员工的所有数据客户的最大数量。
在每个月末您的余额可能会因存款或付款流程而更改,因此您必须在此流程之后找到最终余额。
以Sql语言。
答
(1)为了弄清楚有多少客户是由每个员工提供服务,尽量考虑这些运营商:
- DISTINCT - 获得独特的CID/EID对在工作表
- GROUP BY和COUNT - 让CID值的数量为每EID
- ORDER BY和FIRST - 让从组最大COUNT(CID)的EID
一旦你弄清楚如何获得CORRE CT EID这种方式,那么你可以使用你中写道:作为一个子查询的代码的简单
SELECT * FROM EMPLOYEES WHERE EID=...
(2)从你的问题的信息,目前还不清楚如何找到期末余额,因为起始平衡不明显存在。也许你应该根据数据库中的所有存款和取款进行计算,从假定的零起始余额中计算出来?如果是这样的话,那么尝试思考
- JOIN与运动的工作,这样就可以区分合并表中
- SUM从取款存款拿到总存款和总提款
- 如果答案应该是为每个客户,然后GROUP BY,否则只是一个简单的WHERE,以获得特定客户的价值
这是功课吗? – Blorgbeard 2010-01-02 20:47:58
没有..其书中的问题 – wasim 2010-01-02 20:56:18
作业很糟糕的专栏。或者就此而言,一本书。 – 2010-01-02 21:01:10