社区
数据库相关
帖子详情
寻求一个sql语句的写法---小弟急用
cuiyonggang007
2004-08-03 12:14:39
情况是这样的:我用的是oracle9数据库
我写的语句如下:select max(字段1) into :aa from table1
where len(字段1)>5;
但在pb9中写此代码时不对,请教如何实现此语句的效果(其他方法也行,注意我用的是oracle9)
...全文
170
6
打赏
收藏
寻求一个sql语句的写法---小弟急用
情况是这样的:我用的是oracle9数据库 我写的语句如下:select max(字段1) into :aa from table1 where len(字段1)>5; 但在pb9中写此代码时不对,请教如何实现此语句的效果(其他方法也行,注意我用的是oracle9)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunshareforever
2004-08-05
打赏
举报
回复
强烈建议:为了能列好地系统升级,及多类数据管理系统的版本,最好能用前台的函数不要用后台
wxhacker
2004-08-04
打赏
举报
回复
凡是SQL中用的函数,必须是后端平台所支持的,与前端无关
zp1314
2004-08-03
打赏
举报
回复
应该这样写:
select max(字段1)
into :aa
from table1
where length(字段1)>5;
len 是pb中的函数,length是oracle中的函数
liubocy
2004-08-03
打赏
举报
回复
sysbase是datalength
sun1976
2004-08-03
打赏
举报
回复
嵌套的sql是发送到数据库执行的,所以要使用你连接的数据库支持的函数,而不是使用pb的函数。上面两位的方法正确
10975037
2004-08-03
打赏
举报
回复
是根据数据库的不同sqlserver len ,length是oracle中的函数
SQL语言与excel。VBA结和
EXCEL里使用SQL的方法(欢乐小爪原创)
急用
EXCEL的SQL用法,抄来欢乐小爪几篇文章,支持原创,留下小爪印:http://hi.baidu.com/huanhuanxiaozhua/blog EXCEL(VBA)~SQL 经典
写法
范本汇集(一) 2007-12-10 21:20 编前话:为了更系统的学习
sql语句
,小爪首次系统的汇集sql 需引用 microsoft activeX Data Objects 2.8 library 1.sql = "select 构件名称,构件代号,横长度,横数量,竖长度,竖数量,比重,相应工艺 from [参数$B2:K1916]where (大样代码='" & DYDH & "') and (内外框='WKXC')" 2.sql = "select 构件名称,构件代号,横长度,横数量,竖长度,竖数量,比重,相应工艺 from [参数$B2:K" & CSMaxrow & "] where (大样代码='" & DYDH & "') and (内外框='WKXC')" **************************************************************** A、根据本工作簿的1个表查询求和
写法
范本 Sub 查询方法一() Set CONN = CreateObject("ADODB.Connection") CONN.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.FullName sql = "select 区域,存货类, sum(代销仓入库数量),sum(代销仓出库数量),sum(日报数量)from [sheet4$a:i] where 区域='" & [b3] & "' and month(日期)='" & Month(Range("F3")) & "' group by 区域,存货类" Sheets("sheet2").[A5].CopyFromRecordset CONN.Execute(sql) CONN.Close: Set CONN = Nothing End Sub
---
---
---
---
---
-- Sub 查询方法二() Set CONN = CreateObject("ADODB.Connection") CONN.Open "dsn=excel files;dbq=" & ThisWorkbook.FullName sql = "select 区域,存货类, sum(代销仓入库数量),sum(代销仓出库数量),sum(日报数量)from [sheet4$a:i] where 区域='" & [b3] & "' and month(日期)='" & Month(Range("F3")) & "' group by 区域,存货类" Sheets("sheet2").[A5].CopyFromRecordset CONN.Execute(sql) CONN.Close: Set CONN = Nothing End Sub ************************************************************************************************** B、根据本工作簿2个表的不同类别查询求和
写法
范本 Sub 根据入库表和回款表的区域名和月份分别求存货类发货数量和本月回款数量查询() Set conn = CreateObject("adodb.connection") conn.Open "provider=microsoft.jet.oledb.4.0;" & _ "extended properties=excel 8.0;data source=" & ThisWorkbook.FullName Sheet3.Activate Sql = " select a.存货类,a.fh ,b.hk from (select 存货类,sum(本月发货数量) " _ & " as fh from [入库$] where 存货类 is not null and 区域='" & [b2] _ & "' and month(日期)=" & [d2] & " group by 存货类) as a" _ & " left join (select 存货类,sum(数量) as hk from [回款$] where 存货类" _ & " is not null and 区域='" & [b2] & "' and month(开票日期)=" & [d2] & "" _ & " group by 存货类) as b on a.存货类=b.存货类" Range("a5").CopyFromRecordset conn.Execute(Sql) End Sub ******************************************************************* C、根据本文件夹下其他工作簿1个表区域的区域求和 Sub 在工作表1汇总本文件夹下001工作薄的表1分数列查询汇总() Set conn = CreateObject("ADODB.Connection") conn.Open "dsn=excel files;dbq=" & ThisWorkbook.Path & "\001.xls" sql = "select sum(分数) from [sheet1$]" Sheets(1).[a2].CopyFromRecordset conn.Execute(sql) conn.Close: Set conn = Nothing End Sub
---
---
---
---
---
---
---
Sub 在工作表1汇总本文件夹下001工作薄的表1A1:A10查询汇总() Set conn = CreateObject("ADODB.Connection") conn.Open "provider=microsoft.jet.oledb.4.0;extended properties='excel 8.0;hdr=no;';data source=" & ThisWorkbook.Path & "\001.xls" sql = "select sum(f1) from [sheet1$a1:a10]" Sheets(1).[A5].CopyFromRecordset conn.Execute(sql) conn.Close: Set conn = Nothing End Sub
---
---
---
---
---
---
---
-- Sub 在工作表1汇总本文件夹下001工作薄的表1分数列A1:A7查询并msgbox表达汇总() Set conn = CreateObject("ADODB.Connection") Set rr = CreateObject("ADODB.recordset") conn.Open "dsn=excel files;dbq=" & ThisWorkbook.Path & "\001.xls" sql = "select sum(分数) from [sheet1$a1:a7]" Sheets(1).[A8].CopyFromRecordset conn.Execute(sql) rr.Open sql, conn, 3, 1, 1 MsgBox rr.fields(0) conn.Close: Set conn = Nothing End Sub ****************************************************************************************** D、根据本文件夹下其他工作簿多个表区域的单列区域查询求和 sub 本文件夹下其他工作簿的每个工作簿的第4列 30行查询求和 Dim cn As Object, f$, arr&(1 To 30), i% Application.ScreenUpdating = False Set cn = CreateObject("adodb.connection") f = Dir(ThisWorkbook.Path & "\*.xls") Do While f <> "" If f <> ThisWorkbook.Name Then cn.Open "provider=microsoft.jet.oledb.4.0;extended properties='excel 8.0;hdr=no;';data source=" & ThisWorkbook.Path & "\" & f Range("d5").CopyFromRecordset cn.Execute("select f4 from [基表1$a5:d65536]") cn.Close For i = 1 To 30 arr(i) = arr(i) + Range("d" & i + 4) Next i End If f = Dir Loop Range("d5").Resize(UBound(arr), 1) = WorksheetFunction.Transpose(arr) Application.ScreenUpdating = True End Sub ************************************************************************************************** E、根据本文件夹下其他工作簿多个表区域的多列区域查询求和 sub 本文件夹下其他工作簿的每个工作簿的第B\C\D列 25行查询求和 Dim cn As Object, f$, arr&(1 To 25, 1 To 3), i% Application.ScreenUpdating = False Set cn = CreateObject("adodb.connection") f = Dir(ThisWorkbook.Path & "\*.xls") Do While f <> "" If f <> ThisWorkbook.Name Then cn.Open "provider=microsoft.jet.oledb.4.0;extended properties='excel 8.0;hdr=no;';data source=" & ThisWorkbook.Path & "\" & f Range("b6").CopyFromRecordset cn.Execute("select f2,f3,f4 from [基表3$a6:e65536]") cn.Close For i = 1 To 25 For j = 1 To 3 arr(i, j) = arr(i, j) + Cells(i + 5, j + 1) Next j Next i End If f = Dir Loop Range("b6").Resize(UBound(arr), 3) = arr Application.ScreenUpdating = True End Sub *********************************************************************************** F、其他相关知识整理 ' 用excel SQL方法 'conn是建立的连接对象,用open打开 ' 通过 CreateObject("ADODB.Connection") 这一句建立了
一个
数据库连接对象conn ' 在工程中就不再需要引用“Microsot ActiveX Data Objects 2.0 Library“ 对象 '设置对象 conn 为
一个
新的 ADO 链接实例,也可以用 set conn = New ADODB.Connection。
---
---
---
---
-- ' conn.Close表示关闭conn连接 ' Set conn = Nothing 是把连接对象conn置空,不然你退出了文件,但数据库还没有关闭 conn.Open "dsn=excel files;dbq=" & ThisWorkbook.Path & "\001.xls"能把这段含义具体解释一下吗? '这里的dbq的作用? '
---
---
---
---
---
---
'dsn是缩写,data source name数据库名 是 excel file ' 'dbq 也是缩写,data base query 意思是数据库查询,后接源库文件名 001.xls '
---
---
---
---
---
---
---
'代码中长单词怎么记住的? '比如copyfromrecordset可以拆开记忆,copy、from、recordset 这三个单词意思知道吧,就是“复制、从、记录集” '
---
---
---
---
---
-- 'Sql = "select sum(分数) from [sheet1$]"这里加"分数"两字什么作用? ' 'SQL一般结构是select 字段 from 表,意思是从指定的表中查询字段,字段的理解可以是:表 中的列名 ' '分数 是001.xls文件的sheet1第一行A列的字段名,SQL一般以字段来识别每列数据 '
---
---
---
---
---
---
- '为什么要用复制的对象引用过来计算呢? ' '因为
Sql语句
只是对源数据库的字段找到了符合条件的的数据,但不会自动复制到汇总表来,所以需要复制copy ' '注意 这里的 [sheet1$]" ,001文件的数据存放地上sheet1表,应当用方括号并加上$ ' '如果源数据文件001不是excel,而是Access,则引用表时,不需要加方括号,也不要$ '
---
---
---
---
---
-- 还有,这里Execute表示什么作用? '' Execute是执行SQL查询语句的意思
---
---
---
---
---
---
---
---
---
-- 如果不要字段也可以,那么在打开语句中加上:hdr=no '这样没有分数字段也可实现 '
SQL语句
我换了形式,而且加上了hdr=no,即无需字段,而且我在SQL中用了sum(f1),f1表示第一列数据 '[sheet1$a1:a10] "是只求a1:a10区域的和" ********************************************** 编后话: 前面也多次听说了sql,总没有时间,也没有好好认识它 第一次认真系统学习
sql语句
,汇集了一些代码。 有不同理解的人,欢迎给予小爪评论,小爪只爱excel
MS-SQL Server 基础类 -
SQL语句
Mysql
1、初识MySql javaee :企业级java开发 Web 前端(页面:展示,数据!) 后台(连接点:连接数据库JDBC,链接前端(控制,控制视图跳转,和给前端传递数据)) 数据库(存数据,Txt,Excel,Word) 1.1、为什么要学习数据库 数据库是所有软件体系中最核心的存在DBA 1.2、什么是数据库 数据库(DB,DataBase) 概念:数据仓库,软件,安装在操作系统(window、Linux、mac…)之上!SQL,可以存储大量的数据。 作用:存储数据,管理数据 1.3、数据库分类 关
数据库帖子收集
这样的数据列表在存储过程中应该怎么样选择得到? 请问造成SQL2000服务不能启动的原因有哪些? sql server中有無類似于if 的函數,即像這樣select if(cancel=1,'cancel','') from sales 这样怎么返回呀!!!!记录集的返回。。 谁能跟我说说期初库存怎么样的
一个
业务逻辑!都要处理哪些内容!需要每月进...
狂神-SpringBoot笔记-总
SpringBoot SpringBoot 是用来简化Spring的,本质上和Spring是一致的, 核心点是自动装配 一、SpringBoot简介 1.1回顾什么是Spring Spring是
一个
开源框架(就是
一个
容器,工厂),2003 年兴起的
一个
轻量级的Java 开发框架,作者:Rod Johnson。 Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。 1.2Spring是如何简化Java开发的 为了降低Java开发的复杂性,Spring采用了以下4种关键策略: 1、基于POJO的轻量
数据库相关
754
社区成员
12,762
社区内容
发帖
与我相关
我的任务
数据库相关
PowerBuilder 数据库相关
复制链接
扫一扫
分享
社区描述
PowerBuilder 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章