当前位置:主页>delphi7/进销存和数据库> 文章内容

问一个问题,请大家帮忙!!!!!!

发布时间:2010-01-27 | QQ免费站
1楼: 我用Foxpro数据库,有两张表Table1(SEQ_CODE,NAME……) Table2(SEQ_CODE,Theme) Table1中SEQ_CODE是主码,Table2中(SEQ_CODE,Theme)是联合主码(一个SEQ_CODE能对应多个Theme) 其中SEQ_CDOE是连接字段。 现在我要根据查询条件从Table2中的Theme字段找出若干对应Table1的纪录,我是这样写得SQL: Select * from table1 where SEQ_CODE in (select distinct SEQ_CODE from table2 where Theme Like ‘查询条件1‘ or Theme Like ‘查询条件2‘ or…………) 由于查询条件很多,也就是会有很多or来连接,但是ADOQuery对SQL语句长度是有限制的,这个问题如何解决呢???? 字串7

2楼: 做个循环会不会快些。
字串4

3楼: 什么叫做循环?你是说拼SQL字符串的时候吗?那些Or条件我就是用循环拼起来的。 字串2

4楼: 我顶起来
字串5

5楼: 后面的条件语句是没有办法了,查询语句这样: Select * from table1 a, (select SEQ_CODE from table2 where b.Theme Like ‘%1%‘ or b.Theme Like ‘%3%‘ or b.Theme Like ‘%2%‘) b where a.SEQ_CODE = b.SEQ_CODE 长度限制自己测试可以达到多大吧,只能想这么多了。

字串1

6楼: 这样写的效率为什么能高?可是我的问题没有解决啊?? 还有人来回答吗??????

字串8

7楼: 我再顶!!!!!!!这就没有高人了吗??? 字串4