ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: saler111

[求助] 请教高手,如何用SQL或子查询实现以下查询结果

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-5-1 16:47 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 saler111 于 2011-5-1 16:40 发表

对,,如果sx是一个变量,怎么写?
SELECT a.dm,a.sx,a.jr b.jr  FROM   a left join   b on   a.dm=b.dm and  a.sx='a' and b.sx='a'

变量用&连接如:
SQL = "SELECT a.dm,a." & sx & ",a.jr,iif(isnull(b.jr),'null',b.jr) FROM [Sheet1$] a left join [Sheet2$] b on a.dm=b.dm and a." & sx & "=b." & sx
但好像不能破坏左连接的语法(on   a.dm=b.dm and  a.sx='a' and b.sx='a' )

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-1 16:56 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 zhaogang1960 于 2011-5-1 16:47 发表

变量用&连接如:
SQL = "SELECT a.dm,a." & sx & ",a.jr,iif(isnull(b.jr),'null',b.jr) FROM [Sheet1$] a left join [Sheet2$] b on a.dm=b.dm and a." & sx & "=b." & sx
但好像不能破坏左连接的语法(on   a. ...


sx作为一个变量怎么写?
dim iii as string
iii="a"
SELECT a.dm,a.sx,a.jr,b.jr  FROM   a left join   b on   a.dm=b.dm and  a.sx='" & iii & "' and b.sx='" & iii & "'       '---实现不了
好象SQL数据库中,做视图 也不能用变量,,,还有什么方法可以实现?

TA的精华主题

TA的得分主题

发表于 2011-5-1 17:05 | 显示全部楼层
原帖由 saler111 于 2011-5-1 16:56 发表


sx作为一个变量怎么写?
dim iii as string
iii="a"
SELECT a.dm,a.sx,a.jr,b.jr  FROM   a left join   b on   a.dm=b.dm and  a.sx='" & iii & "' and b.sx='" & iii & "'       '---实现不了
好象SQL数据库 ...

变量只能在程序中使用

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-1 17:07 | 显示全部楼层
原帖由 zhaogang1960 于 2011-5-1 17:05 发表

变量只能在程序中使用

dim iii as string
iii="a"
"SELECT s.dm,s.jr,ss.jr  FROM (select * from a where sx='" & iii & "' )s  left join  (select * from b where sx='" & iii & "' )ss on   s.dm=ss.dm  "

TA的精华主题

TA的得分主题

发表于 2011-5-1 17:23 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 saler111 于 2011-5-1 17:07 发表

dim iii as string
iii="a"
"SELECT s.dm,s.jr,ss.jr  FROM (select * from a where sx='" & iii & "' )s  left join  (select * from b where sx='" & iii & "' )ss on   s.dm=ss.dm  "

Sub Macro1()
    Dim cnn As Object, SQL$
    Dim iii As String
    iii = "a"
    Set cnn = CreateObject("ADODB.Connection")
    cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & ThisWorkbook.FullName
    SQL = "SELECT s.*,iif(isnull(ss.jr),'null',ss.jr)  FROM (select * from [Sheet1$] where sx='" & iii & "' ) s  left join  (select * from [Sheet2$] where sx='" & iii & "' ) ss on   s.dm=ss.dm  and s.sx=ss.sx "
    [a1].CurrentRegion.Offset(1).ClearContents
    [a2].CopyFromRecordset cnn.Execute(SQL)
    cnn.Close
    Set cnn = Nothing
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-1 17:50 | 显示全部楼层
原帖由 zhaogang1960 于 2011-5-1 17:23 发表

Sub Macro1()
    Dim cnn As Object, SQL$
    Dim iii As String
    iii = "a"
    Set cnn = CreateObject("ADODB.Connection")
    cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Ex ...

请问一下,我下面语句怎么提示操作符丢失,我总找不到错误在哪?调试时,所有变量都能找到.
"SELECT a.kmdm,a.kmmc,a.bqjr,a.ljjr,a.byjr,b.bqjr,b.ljjr,b.byjr FROM (select * form " & goa & "  where szlx='" + szlxb + "' and qxbz='" + qxbzb + "' and bbjc='" + bbjcb + "' )a  left join  (select * form " & gob & "  where szlx='" + szlxb + "' and qxbz='" + qxbzb + "' and bbjc='" + bbjcb + "' )b   on   a.kmdm=b.kmdm  order by a.kmdm "

"SELECT a.kmdm,b.kmdm FROM (select * form tmis  ) as a  left join  (select * form tcbs ) as b  on a.kmdm=b.kmdm  order by a.kmdm  " 也不行,唉form错了,应from,不好意思

[ 本帖最后由 saler111 于 2011-5-1 17:59 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-5-1 17:56 | 显示全部楼层
原帖由 saler111 于 2011-5-1 17:50 发表

请问一下,我下面语句怎么提示操作符丢失,我总找不到错误在哪?调试时,所有变量都能找到.
"SELECT a.kmdm,a.kmmc,a.bqjr,a.ljjr,a.byjr,b.bqjr,b.ljjr,b.byjr FROM (select * form " & goa & "  where szlx='" + s ...

猜不出来,不好意思

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-1 18:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
[quote]原帖由 zhaogang1960 于 2011-5-1 17:56 发表

谢谢你了,form错,晕死
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-6-16 04:42 , Processed in 1.055989 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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