ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 11421|回复: 107

[讨论][分享]SQL接龙(figfig,烟雨,ldy,sgrshh29等完成)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-9-2 09:30 | 显示全部楼层 |阅读模式
本帖已被收录到知识树中,索引项:SQL应用

 附件已经收集齐全,含答案

附件已经把到现在为止的所有问题和我以前的几个问题都收集在一起,附答案,以后如果代码改进,我会再重新整理,祝大家中秋快乐!

sw95P1mx.rar (84.25 KB, 下载次数: 125)

  

[此贴子已经被作者于2008-9-12 9:43:54编辑过]

wHZiYCnO.rar

28.96 KB, 下载次数: 90

SQL三个难题(巨难)

a8zpWVyG.rar

29.38 KB, 下载次数: 88

SQL三个难题(巨难)

TA的精华主题

TA的得分主题

发表于 2008-9-2 09:39 | 显示全部楼层

连存储过程都出来了哟。

以EXCEL工作表为数据库时,好象是无法使用存储过程的吧

尤其是还要创建临时表的情况下。

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-9-2 09:42 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

按我们自己适合的语句做,不一定要按他的,相同目的而已,第二个问题应该还有办法。

TA的精华主题

TA的得分主题

发表于 2008-9-2 10:23 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

第一个问题,需用到辅助区域([空缺记录$a11:b25]),该辅助区域用于存放 所有AA、BB应该造访的任务列表,代码如下:

Sub yy1()
    With Worksheets("空缺记录")
        Set CNN = CreateObject("adodb.connection")
        CNN.Open "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;hdr=yes;';Data Source=" & ThisWorkbook.FullName
        .Range("d2:e1000").ClearContents
        Sql = "select  name,id FROM [空缺记录$a1:b10] group by name,id union all select name,id FROM [空缺记录$a11:b25]"
        Sql = "select name,id from (" & Sql & ") group by name,id having count(id)=1"
        .Range("d2").CopyFromRecordset CNN.Execute(Sql)
    End With
End Sub

TA的精华主题

TA的得分主题

发表于 2008-9-2 10:39 | 显示全部楼层

第二个问题,代码如下:

Sub yy2()
    With Worksheets("5月6月工资")
        Set CNN = CreateObject("adodb.connection")
        CNN.Open "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;hdr=yes;';Data Source=" & ThisWorkbook.FullName
        .Range("e2:g100").ClearContents
        Sql = "select date,name,salary  from [5月6月工资$] where date between 200805 and 200806 "
        Sql = "select * from (" & Sql & ") where name not in (select name from (" & Sql & ") group by name,salary having count(name)>1)"
        .Range("e2").CopyFromRecordset CNN.Execute(Sql)
    End With
End Sub

TA的精华主题

TA的得分主题

发表于 2008-9-2 10:52 | 显示全部楼层

第三个问题,在EXCEL中用SQL解决估计 那是相当的难,期待有这样的代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-9-2 10:56 | 显示全部楼层
谢谢!,第二个问题解决,高手就是高手,思路太好了

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-9-2 11:05 | 显示全部楼层

已到访

name

id

AA12
AA16
AA18
AA16
BB14
BB13
BB13
BB16

未到访,求未到访

姓名  门牌号 
AA      13
AA      14
AA      15
AA      17
BB      12 
BB      15 
BB      17
BB      18

TA的精华主题

TA的得分主题

发表于 2008-9-2 11:10 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

wuWnibcM.rar (20.07 KB, 下载次数: 17)

第一问及第二问的附件

第一问不使用辅助区域(类似于SQL中的临时表)估计也很难

TA的精华主题

TA的得分主题

发表于 2008-9-2 11:17 | 显示全部楼层
第一个问题,需要辅助表.如果不用辅助表,就做成交叉表形式.第三问还没有看明白.
[此贴子已经被作者于2008-9-2 11:18:47编辑过]
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-12 05:02 , Processed in 0.061699 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表