王剑辉 发表于:2011-10-24 23:37:36
access,表1里有一个data字段,内容如下:
6 '注,6代表接下来是6个坐标串
x1,y1
x2,y2
x3,y3
x4,y4
x5,y5
x6,y6
1 '注,1代表ID号为1
3 '注,3代表接下来是3个坐标串
x7,y7
x8,y8
x9,y9
2 '注,2代表ID号为2
……
如果做一个查询,得到3列(ID,点数,坐标串谁在左谁在右都可以):
ID 点数 坐标串
1 6 x1,y1
1 6 x2,y2
1 6 x3,y3
1 6 x4,y4
1 6 x5,y5
1 6 x6,y6
2 3 x7,y7
2 3 x8,y8
2 3 x9,y9
我的文件很长,有几十w行,逐行按逗号区别的话,运行起来可能比较慢,所以我想用查询是否有办法解决。
SELECT DFirst("坐标串","表1","编号>" & [编号] & "and [坐标串] not like 'x*,y*'") AS ID, DLast("坐标串","表1","编号<" & [编号] & "and [坐标串] not like 'x*,y*'") AS 点数, 表1.坐标串
FROM 表1
WHERE (((表1.坐标串) Like "x*,y*"));
表1字段 编号为 自动编号
坐标串
老大,几十万行的查询很难运行的,用代码生成新的表吧!
可以拿一部分数据上传,并具体说明要求,或许容易解决问题
如果做一个查询,得到3列(ID,点数,坐标串谁在左谁在右都可以):
ID 点数 坐标串
1 6 x1,y1
1 6 x2,y2
1 6 x3,y3
1 6 x4,y4
1 6 x5,y5
1 6 x6,y6
2 3 x7,y7
2 3 x8,y8
2 3 x9,y9
就你现在的数据结构,单用查询,应该无解
这个是根子上的事儿