ID的每一部份应该都是一个单独的字段,如果你把它整个做成了一个字段,且各ID的内容没有明显的区别(比如仅仅是按顺序由分隔符隔开),那恐怕没法实现你的要求,除非像下面这样:
ID的每一部分都有一个独特的标志,如地区ID格式为A:XXXX,客户ID格式为C:XXXX之类,且标志的内容不会出现于ID的非标志中,这样就可以通过模糊查询来完成你的要求了。
SELECT * FROM OrderTable WHERE ID LIKE '*A:*'
ID的每一部分都有一个独特的标志,如地区ID格式为A:XXXX,客户ID格式为C:XXXX之类,且标志的内容不会出现于ID的非标志中,这样就可以通过模糊查询来完成你的要求了。
SELECT * FROM OrderTable WHERE ID LIKE '*A:*'
列如:
定单ID是XXYYZZ(其中XX是地区ID,YY是客户ID,ZZ是产品ID)
SQL如下:
“SELECT * FROM DB WHERE 地区ID LIKE XX%”
在ACCESS中,好象“%”要换成“*”(忘了)
但是你ID的必须要有固定的位数
如 XXXXXX前两位地区ID,中间两位客户ID,最后两为产品ID。
用Access的例子
select * from tablenaem where mid(订单号,1,2)='01'
comment:
最好还是将订单ID,地区ID、客户ID、产品ID作为不同的字段。
SELECT * FROM 定单表,地区表 WHERE 定单表.地区ID = 地区表.地区ID
可以利用多个表中相同的字段连接多个表,并过滤相应的条件
同理进行其他组合查询。