问一个问题,请大家帮忙!!!!!!
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