作者:绿色风
分类:
时间:2022-08-17
浏览:144
楼主 海洋之星 |
Q:如何查询工资多于是1230元的职工向北京的供应商发出的订购单信息? A:- SELECT * FROM [dgd$] WHERE 职工号 IN (SELECT 职工号 FROM [zg$] WHERE 工资>1230) AND 供 应商号 IN (SELECT 供应商号 FROM [gys$] WHERE 地址="北京") ORDER BY 总金额 DESC
分析: 我们可以通过下面的查询得到工资多于1230的所有职工的职工号 SELECT 职工号 FROM ZG WHERE 工资>1230;可以通过下面的查询得到地址在北京的所有供货商的供货商号 SELECT 供货商号 FROM GYS WHERE 地址="北京",而题面所要求的正是同时满足以上两个条件的订购单信息,也就是职工号满足第一个条件上,可用 职工号 IN (SELECT 职工号 FROM ZG WHERE 工资>1230) 来实现;供货商号满足第二个条件,可用 供货商号 IN (SELECT 供货商号 FROM GYS WHERE 地址="北京") 来实现。因此可得到满足条件的订购单的SQL查询为:SELECT * FROM DGD WHERE 职工号 IN (SELECT 职工号 FROM ZG WHERE 工资>1230) AND 供货商号 IN (SELECT 供货商号 FROM GYS WHERE 地址="北京") ORDER BY 总金额 DESC
数据源.rar |
2楼 kevinchengcw |
学习了,感谢楼主分享! |
3楼 larkzh |
学习了。 |
4楼 LOGO |
- SELECT a.* FROM [dgd$] a, [zg$] b,[gys$] c
- WHERE a.职工号 =b.职工号 and b.工资>1230 AND a.供应商号 =c.供应商号 and c.地址='北京' order by 5 desc
|
5楼 LOGO |
- select a.* from (select a.* from [dgd$] a left join [zg$] b on a.职工号=b.职工号 where b.工资>1230) a left join [gys$] c on a.供应商号=c.供应商号 where c.地址='北京' order by 5 desc
|
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一