Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2781|回复: 5

[已解决]SQL语句问题

[复制链接]
发表于 2013-11-16 21:53 | 显示全部楼层 |阅读模式
本帖最后由 hoogle 于 2013-11-16 21:59 编辑

在用SQL语句有一个疑问:

SELECT * FROM [表$] WHERE  字段=arr()

上述表达式显然是不对的。

目的是判断如果 字段  如果等于数组 arr()中任何一个数时,就提取该条明细。

由于该数组是一个一维动态数组,请教该如何写SQL语句?
最佳答案
2013-11-16 22:09
dim strsql$
strsql="SELECT * FROM [表$] WHERE  字段 in ("
for each a in arr
strsql=strsql & a & ","
next
strsql=left(strsql,len(strsql)-1) & ")"



发表于 2013-11-16 22:06 | 显示全部楼层
他不认数组的。
你把数组的值遍历出来。
SELECT * FROM [表$] WHERE  字段 in (值1,值2,...)
回复

使用道具 举报

发表于 2013-11-16 22:06 | 显示全部楼层
回复

使用道具 举报

发表于 2013-11-16 22:09 | 显示全部楼层    本楼为最佳答案   
dim strsql$
strsql="SELECT * FROM [表$] WHERE  字段 in ("
for each a in arr
strsql=strsql & a & ","
next
strsql=left(strsql,len(strsql)-1) & ")"



回复

使用道具 举报

发表于 2013-11-16 22:11 | 显示全部楼层
如果数组是一维的,那更好办
用split处理下。

回复

使用道具 举报

 楼主| 发表于 2013-11-16 22:21 | 显示全部楼层
hwc2ycy 发表于 2013-11-16 22:09
dim strsql$
strsql="SELECT * FROM [表$] WHERE  字段 in ("
for each a in arr

谢谢,我去试试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 08:53 , Processed in 0.298890 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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